excel通用导入优化

yun-zuoyi
汪云昊 6 years ago
parent fa72dc94ea
commit 147bb61f76

@ -3,6 +3,8 @@ package cn.estsh.i3plus.core.apiservice.util;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysConfig;
import cn.estsh.i3plus.pojo.platform.bean.SysDictionary;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.CellType;
@ -25,7 +27,7 @@ import java.util.regex.Pattern;
public class ResourceImportUtil {
public static void main(String[] args) {
File file = new File("C:\\Users\\yunha\\Desktop\\副本资源文件.xlsx");
File file = new File("C:\\Users\\yunha\\Desktop\\资源文件.xlsx");
File sql = new File("C:\\Users\\yunha\\Desktop\\imppRource.sql");
int i = 1;
try {
@ -44,7 +46,7 @@ public class ResourceImportUtil {
if(row == null|| row.getCell(2) == null|| row.getCell(3) == null){
continue;
}
}
System.out.println(snowflakeIdMaker.nextId()+"行:"+i);
row.getCell(2).setCellType(CellType.STRING);
row.getCell(3).setCellType(CellType.STRING);
@ -137,6 +139,79 @@ public class ResourceImportUtil {
bufferWritter.write(sql(sysLocaleResource));
}
// ENUM
Sheet enumSheet = wb.getSheet("ENUM");
i =1;
for (; i < enumSheet.getLastRowNum(); i++) {
row = wmsSheet.getRow(i);
System.out.println(snowflakeIdMaker.nextId()+" ENUM 行:"+i);
row.getCell(2).setCellType(CellType.STRING);
row.getCell(3).setCellType(CellType.STRING);
sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setLanguageCode("CN/zh");
sysLocaleResource.setLanguageNameRdd("简体中文");
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue());
sysLocaleResource.setResourceValue(row.getCell(2).getStringCellValue());
System.out.println(sql(sysLocaleResource));
if(isContainChinese(row.getCell(2).getStringCellValue())){
bufferWritter.write(sql(sysLocaleResource));
}
sysLocaleResource.setId(snowflakeIdMaker.nextId());
sysLocaleResource.setLanguageCode("US/en");
sysLocaleResource.setLanguageNameRdd("English");
sysLocaleResource.setResourceType( getType(row.getCell(1).getStringCellValue()));
sysLocaleResource.setResourceKey(row.getCell(2).getStringCellValue());
sysLocaleResource.setResourceValue(row.getCell(3).getStringCellValue());
System.out.println(sql(sysLocaleResource));
bufferWritter.write(sql(sysLocaleResource));
}
// 字典
Sheet dcSheet = wb.getSheet("字典");
i =1;
for (; i < dcSheet.getLastRowNum(); i++) {
row = dcSheet.getRow(i);
System.out.println(snowflakeIdMaker.nextId()+" 字典 行:"+i);
row.getCell(0).setCellType(CellType.STRING);
row.getCell(1).setCellType(CellType.STRING);
row.getCell(2).setCellType(CellType.STRING);
SysDictionary sysDictionary = new SysDictionary();
sysDictionary.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
sysDictionary.setName(row.getCell(1).getStringCellValue());
sysDictionary.setParentNameRdd(row.getCell(2).getStringCellValue());
System.out.println(sql(sysDictionary));
bufferWritter.write(sql(sysDictionary));
}
// 参数
Sheet configSheet = wb.getSheet("参数");
i =1;
for (; i < configSheet.getLastRowNum(); i++) {
row = configSheet.getRow(i);
System.out.println(snowflakeIdMaker.nextId()+" 参数 行:"+i);
row.getCell(0).setCellType(CellType.STRING);
row.getCell(1).setCellType(CellType.STRING);
row.getCell(2).setCellType(CellType.STRING);
SysConfig sysConfig = new SysConfig();
sysConfig.setId(Long.parseLong(row.getCell(0).getStringCellValue()));
sysConfig.setName(row.getCell(1).getStringCellValue());
sysConfig.setConfigDescription(row.getCell(2).getStringCellValue());
System.out.println(sql(sysConfig));
bufferWritter.write(sql(sysConfig));
}
bufferWritter.flush();
bufferWritter.close();
@ -167,6 +242,21 @@ public class ResourceImportUtil {
"\","+sysLocaleResource.getResourceType()+",\""+sysLocaleResource.getLanguageCode()+"\",\""+sysLocaleResource.getLanguageNameRdd()+"\",\""
+sysLocaleResource.getResourceKey().replaceAll("\"","\\\\\\\"")+"\",\""+sysLocaleResource.getResourceValue().replaceAll("\"","\\\\\\\"")+"\",1);\n";
}
private static String sql(SysConfig sysConfig){
return "UPDATE `sys_config` SET `config_description` = '"+sysConfig.getConfigDescription()+"', `name` = '"+sysConfig.getName()+
"' WHERE `id` = "+sysConfig.getId()+" ;\n";
}
private static String sql(SysDictionary sysDictionary){
return "UPDATE `sys_dictionary` SET `name` = '"+sysDictionary.getName().replaceAll("'","\\\\\\'")+"', `parent_name_rdd` =" +
" '"+sysDictionary.getParentNameRdd().replaceAll("'","\\\\\\'")+
"' WHERE `id` = " +
sysDictionary.getId()+" ;\n";
}
/**
*
* @param str

Loading…
Cancel
Save