diff --git a/ant-design-vue-jeecg/src/views/functiontemple/FunctionTemplateList.vue b/ant-design-vue-jeecg/src/views/functiontemple/FunctionTemplateList.vue
index c81cb85..0e1cc36 100644
--- a/ant-design-vue-jeecg/src/views/functiontemple/FunctionTemplateList.vue
+++ b/ant-design-vue-jeecg/src/views/functiontemple/FunctionTemplateList.vue
@@ -40,7 +40,7 @@
新增
导出
-
+
导入
diff --git a/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue b/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
index f3a8a1b..e361df6 100644
--- a/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
+++ b/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
@@ -469,7 +469,6 @@ export default {
deleteBatch: "/modulex/modulex/deleteBatch",
exportXlsUrl: "/modulex/modulex/exportXls",
importExcelUrlf: "fieldx/fieldx/importExcel",
-
importExcelUrl: "modulex/modulex/importExcel",
functionImportExcelUrl: "/functionx/functionx/importExcel",
tablexImportExcelUrl: "tablex/tablex/importExcel",
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/fieldx/controller/FieldxController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/fieldx/controller/FieldxController.java
index ef5344e..b290aba 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/fieldx/controller/FieldxController.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/fieldx/controller/FieldxController.java
@@ -11,7 +11,10 @@ import com.aliyuncs.utils.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -31,6 +34,7 @@ import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.tablex.entity.Tablex;
import org.jeecg.modules.tablex.service.ITablexService;
import org.jeecg.common.system.base.controller.JeecgController;
+import org.jsoup.helper.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -301,15 +305,97 @@ public class FieldxController extends JeecgController {
return Result.error("文件格式上传有误");
}
//根据格式读取
+ InputStream inputStream=file.getInputStream();
+ Workbook workbook=null;
+ if (path.endsWith(".xls")) {
+ workbook=new HSSFWorkbook(inputStream);
+ }
+ else {
+ workbook = new XSSFWorkbook(inputStream);
+ }
+ //读取表
List list = new ArrayList<>();
+ //获取excel的所有页
+ int numberofSheets= workbook.getNumberOfSheets();
+ for (int i=0;i< numberofSheets;i++)
+ {
+ Sheet Sheet=workbook.getSheetAt(i);
+ //判断表结构
+ Row row=Sheet.getRow(3);
+ if(row==null)
+ return Result.error("表结构不能为空");
- if (path.endsWith(".xls")) {
- list = readXLS(file);
- } else list = readXLSX(file);
+ for(int r=3;r<=Sheet.getLastRowNum();r++) {
+ Row cells = Sheet.getRow(r);
+ String cell = cells.getCell(0).getStringCellValue();
+ if (StringUtils.isEmpty(cell)) {
+ break;
+ }
+ ExcelInfo excelInfo = new ExcelInfo();
+ excelInfo.setcells(cells);
+ Fieldx222 fieldx222 = new Fieldx222();
+ if (StringUtil.isBlank(excelInfo.getTableId())) {
+ return Result.error("序号为" + (r - 2) + "的表名不能为空");
+ }
+ fieldx222.setTableId(excelInfo.getTableId());
+ if (StringUtil.isBlank(excelInfo.getFieldName())) {
+ return Result.error("序号为" + (r - 2) + "的中文名称不能为空");
+ }
+ fieldx222.setFieldName(excelInfo.getFieldName());
+ if (StringUtil.isBlank(excelInfo.getFieldEnName())) {
+ return Result.error("序号为" + (r - 2) + "的英文名称不能为空");
+ }
+ fieldx222.setFieldEnName(excelInfo.getFieldEnName());
+ if (StringUtil.isBlank(excelInfo.getType())) {
+ return Result.error("序号为" + (r - 2) + "的数据类型不能为空");
+ }
+ fieldx222.setType(excelInfo.getType());
+ if (StringUtil.isBlank(excelInfo.getLength())) {
+ return Result.error("序号为" + (r - 2) + "的数据长度不能为空");
+ }
+ fieldx222.setLength(excelInfo.getLength());
+ if (StringUtil.isBlank(excelInfo.getIsPk())) {
+ return Result.error("序号为" + (r - 2) + "的是否主键不能为空");
+ }
+ fieldx222.setIsPk(excelInfo.getIsPk());
+ if (StringUtil.isBlank(excelInfo.getIsFk())) {
+ return Result.error("序号为" + (r - 2) + "的是否外键不能为空");
+ }
+ fieldx222.setIsFk(excelInfo.getIsFk());
+ if (StringUtil.isBlank(excelInfo.getIsNull())) {
+ return Result.error("序号为" + (r - 2) + "的是否为空不能为空");
+ }
+ fieldx222.setIsNull(excelInfo.getIsNull());
+ if (StringUtil.isBlank(excelInfo.getIsUniqueness())) {
+ return Result.error("序号为" + (r - 2) + "的是否重复不能为空");
+ }
+ fieldx222.setIsUniqueness(excelInfo.getIsUniqueness());
+ if (StringUtil.isBlank(excelInfo.getVerisonStatus())) {
+ return Result.error("序号为" + (r - 2) + "的字段状态不能为空");
+ }
+ fieldx222.setVerisonStatus(excelInfo.getVerisonStatus());
+ if (StringUtil.isBlank(excelInfo.getVerison())) {
+ return Result.error("序号为" + (r - 2) + "的版本状态不能为空");
+ }
+ fieldx222.setVerison(excelInfo.getVerison());
+ if (!StringUtils.isEmpty(excelInfo.getAccuracy()))
+ fieldx222.setAccuracy(excelInfo.getAccuracy());
+ if (!StringUtils.isEmpty(excelInfo.getFormat()))
+ fieldx222.setFormat(excelInfo.getFormat());
+ if (!StringUtils.isEmpty(excelInfo.getAssociateTable()))
+ fieldx222.setAssociateTable(excelInfo.getAssociateTable());
+ if (!StringUtils.isEmpty(excelInfo.getAssociateField()))
+ fieldx222.setAssociateField(excelInfo.getAssociateField());
+ if (!StringUtils.isEmpty(excelInfo.getRule()))
+ fieldx222.setRull(excelInfo.getRule());
+ list.add(fieldx222);
+ }
+ }
fieldx222Service.saveBatch(list);
List list222 = fieldx222Service.list();
+ fieldx222Service.remove(null);
if(list222==null)
return Result.error("文件上传失败");
List list1= list222.stream().map((item)->{
@@ -338,86 +424,10 @@ public class FieldxController extends JeecgController {
fieldx.setRule(item.getRull());
return fieldx;
}).collect(Collectors.toList());
- fieldx222Service.remove(null);
fieldxService.saveBatch(list1);
return Result.OK("文件上传成功");
-
}
- public List readXLS(MultipartFile file) throws IOException {
- List list=new ArrayList<>();
- InputStream inputStream=file.getInputStream();
- HSSFWorkbook workbook=new HSSFWorkbook(inputStream);
- //读取表
- HSSFSheet hssfSheet=workbook.getSheetAt(0);
- for(int r=3;r<=hssfSheet.getLastRowNum();r++){
- HSSFRow cells =hssfSheet.getRow(r);
- String cell=cells.getCell(0).getStringCellValue();
- if(StringUtils.isEmpty(cell)){
- break;
- }
- ExcelInfo excelInfo = new ExcelInfo();
- excelInfo.setcells(cells);
- Fieldx222 fieldx=copy(excelInfo);
- list.add(fieldx);
- }
- return list;
- }
- public List readXLSX(MultipartFile file) throws IOException {
- List list=new ArrayList<>();
- InputStream inputStream=file.getInputStream();
- XSSFWorkbook workbook=new XSSFWorkbook(inputStream);
- //读取表
- XSSFSheet hssfSheet=workbook.getSheetAt(0);
- for(int r=3;r<=hssfSheet.getLastRowNum();r++){
- XSSFRow cells =hssfSheet.getRow(r);
- String cell=cells.getCell(0).getStringCellValue();
- if(StringUtils.isEmpty(cell)){
- break;
- }
- ExcelInfo excelInfo=new ExcelInfo();
- excelInfo.setcells(cells);
- Fieldx222 fieldx=copy(excelInfo);
- list.add(fieldx);
- }
- return list;
- }
- private Fieldx222 copy(ExcelInfo excelInfo){
- Fieldx222 fieldx222=new Fieldx222();
- if(pdNull(excelInfo.getTableId())||pdNull((excelInfo.getFieldName()))||pdNull((excelInfo.getFieldEnName()))||
- pdNull((excelInfo.getType()))||pdNull((excelInfo.getLength()))||pdNull((excelInfo.getIsPk()))||
- pdNull((excelInfo.getIsFk()))||pdNull((excelInfo.getIsNull()))||pdNull((excelInfo.getIsUniqueness()))||
- pdNull((excelInfo.getVerison()))||pdNull((excelInfo.getVerison())))
- return null;
- fieldx222.setTableId(excelInfo.getTableId());
- fieldx222.setFieldName(excelInfo.getFieldName());
- fieldx222.setFieldEnName(excelInfo.getFieldEnName());
- fieldx222.setType(excelInfo.getType());
- fieldx222.setLength(excelInfo.getLength());
- fieldx222.setIsPk(excelInfo.getIsPk());
- fieldx222.setIsFk(excelInfo.getIsFk());
- fieldx222.setIsNull(excelInfo.getIsNull());
- fieldx222.setIsUniqueness(excelInfo.getIsUniqueness());
- fieldx222.setVerisonStatus(excelInfo.getVerisonStatus());
- fieldx222.setVerison(excelInfo.getVerison());
- if(!StringUtils.isEmpty(excelInfo.getAccuracy()))
- fieldx222.setAccuracy(excelInfo.getAccuracy());
- if(!StringUtils.isEmpty(excelInfo.getFormat()))
- fieldx222.setFormat(excelInfo.getFormat());
- if(!StringUtils.isEmpty(excelInfo.getAssociateTable()))
- fieldx222.setAssociateTable(excelInfo.getAssociateTable());
- if(!StringUtils.isEmpty(excelInfo.getAssociateField()))
- fieldx222.setAssociateField(excelInfo.getAssociateField());
- if(!StringUtils.isEmpty(excelInfo.getRule()))
- fieldx222.setRull(excelInfo.getRule());
- return fieldx222;
- }
- public boolean pdNull(Object object){
- if (object == null)
- return true;
- else
- return false;
- }
// 生成sql
public String createSql(String tableId){