mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
Fix ExcelImportUtils
This commit is contained in:
parent
ce30bca698
commit
3b039cce3c
@ -21,7 +21,6 @@ import com.chatopera.cc.basic.MainUtils;
|
||||
import com.chatopera.cc.model.MetadataTable;
|
||||
import com.chatopera.cc.model.TableProperties;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
|
||||
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
@ -41,7 +40,7 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
public class ExcelImportUtils {
|
||||
private DecimalFormat format = new DecimalFormat("###");
|
||||
private final DecimalFormat format = new DecimalFormat("###");
|
||||
protected DSDataEvent event;
|
||||
|
||||
public ExcelImportUtils(DSDataEvent event) {
|
||||
@ -84,7 +83,7 @@ public class ExcelImportUtils{
|
||||
int totalRows = sheet.getPhysicalNumberOfRows();
|
||||
int colNum = titleRow.getPhysicalNumberOfCells();
|
||||
|
||||
/**
|
||||
/*
|
||||
* 需要检查Mapping 是否存在
|
||||
*/
|
||||
if (totalRows > 1) {
|
||||
@ -155,7 +154,6 @@ public class ExcelImportUtils{
|
||||
metaDataTable.getTableproperty().add(initProperties("calltimes", "拨打次数", "Long", event.getOrgi(), event.getTablename(), true));
|
||||
|
||||
|
||||
|
||||
metaDataTable.getTableproperty().add(initProperties("succcall", "拨打成功次数", "Long", event.getOrgi(), event.getTablename(), true));
|
||||
metaDataTable.getTableproperty().add(initProperties("faildcall", "拨打失败次数", "Long", event.getOrgi(), event.getTablename(), true));
|
||||
|
||||
@ -196,22 +194,23 @@ public class ExcelImportUtils{
|
||||
private boolean isExcel2007(String fileName) {
|
||||
return fileName.matches("^.+\\.(?i)(xlsx)$");
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private String getValue(Cell cell) {
|
||||
String strCell = "";
|
||||
if (cell != null) {
|
||||
short dt = cell.getCellStyle().getDataFormat();
|
||||
switch (cell.getCellType()) {
|
||||
case HSSFCell.CELL_TYPE_STRING:
|
||||
case STRING:
|
||||
strCell = cell.getStringCellValue();
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_BOOLEAN:
|
||||
case BOOLEAN:
|
||||
strCell = String.valueOf(cell.getBooleanCellValue());
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_BLANK:
|
||||
case BLANK:
|
||||
strCell = "";
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_NUMERIC:
|
||||
case NUMERIC:
|
||||
if (HSSFDateUtil.isCellDateFormatted(cell)) {
|
||||
SimpleDateFormat sdf = null;
|
||||
if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")) {
|
||||
@ -250,7 +249,7 @@ public class ExcelImportUtils{
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_FORMULA: {
|
||||
case FORMULA: {
|
||||
// 判断当前的cell是否为Date
|
||||
boolean isNumber = isNumberFormat(dt);
|
||||
try {
|
||||
@ -269,7 +268,7 @@ public class ExcelImportUtils{
|
||||
strCell = "";
|
||||
break;
|
||||
}
|
||||
if (strCell.equals("") || strCell == null) {
|
||||
if (strCell.equals("")) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@ -282,13 +281,13 @@ public class ExcelImportUtils{
|
||||
if (cell != null) {
|
||||
short dt = cell.getCellStyle().getDataFormat();
|
||||
switch (cell.getCellType()) {
|
||||
case HSSFCell.CELL_TYPE_STRING:
|
||||
case STRING:
|
||||
dataType = "string";
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_BOOLEAN:
|
||||
case BOOLEAN:
|
||||
dataType = "number";
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_BLANK:
|
||||
case BLANK:
|
||||
if (HSSFDateUtil.isCellDateFormatted(cell)) {
|
||||
if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")) {
|
||||
dataType = "datetime";
|
||||
@ -307,7 +306,7 @@ public class ExcelImportUtils{
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_NUMERIC:
|
||||
case NUMERIC:
|
||||
if (HSSFDateUtil.isCellDateFormatted(cell)) {
|
||||
if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("h:mm")) {
|
||||
dataType = "datetime";
|
||||
@ -334,7 +333,7 @@ public class ExcelImportUtils{
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HSSFCell.CELL_TYPE_FORMULA: {
|
||||
case FORMULA: {
|
||||
// 判断当前的cell是否为Date
|
||||
boolean isNumber = isNumberFormat(dt);
|
||||
if (isNumber) {
|
||||
@ -369,31 +368,81 @@ public class ExcelImportUtils{
|
||||
private boolean isNumberFormat(short dataType) {
|
||||
boolean number = false;
|
||||
switch (dataType) {
|
||||
case 180 : number = true ; break;
|
||||
case 181 : number = true ; break;
|
||||
case 182 : number = true ; break;
|
||||
case 178 : number = true ; break;
|
||||
case 177 : number = true ; break;
|
||||
case 176 : number = true ; break;
|
||||
case 183 : number = true ; break;
|
||||
case 185 : number = true ; break;
|
||||
case 186 : number = true ; break;
|
||||
case 179 : number = true ; break;
|
||||
case 187 : number = true ; break;
|
||||
case 7 : number = true ; break;
|
||||
case 8 : number = true ; break;
|
||||
case 44 : number = true ; break;
|
||||
case 10 : number = true ; break;
|
||||
case 12 : number = true ; break;
|
||||
case 13 : number = true ; break;
|
||||
case 188 : number = true ; break;
|
||||
case 189 : number = true ; break;
|
||||
case 190 : number = true ; break;
|
||||
case 191 : number = true ; break;
|
||||
case 192 : number = true ; break;
|
||||
case 193 : number = true ; break;
|
||||
case 194 : number = true ; break;
|
||||
case 11 : number = true ; break;
|
||||
case 180:
|
||||
number = true;
|
||||
break;
|
||||
case 181:
|
||||
number = true;
|
||||
break;
|
||||
case 182:
|
||||
number = true;
|
||||
break;
|
||||
case 178:
|
||||
number = true;
|
||||
break;
|
||||
case 177:
|
||||
number = true;
|
||||
break;
|
||||
case 176:
|
||||
number = true;
|
||||
break;
|
||||
case 183:
|
||||
number = true;
|
||||
break;
|
||||
case 185:
|
||||
number = true;
|
||||
break;
|
||||
case 186:
|
||||
number = true;
|
||||
break;
|
||||
case 179:
|
||||
number = true;
|
||||
break;
|
||||
case 187:
|
||||
number = true;
|
||||
break;
|
||||
case 7:
|
||||
number = true;
|
||||
break;
|
||||
case 8:
|
||||
number = true;
|
||||
break;
|
||||
case 44:
|
||||
number = true;
|
||||
break;
|
||||
case 10:
|
||||
number = true;
|
||||
break;
|
||||
case 12:
|
||||
number = true;
|
||||
break;
|
||||
case 13:
|
||||
number = true;
|
||||
break;
|
||||
case 188:
|
||||
number = true;
|
||||
break;
|
||||
case 189:
|
||||
number = true;
|
||||
break;
|
||||
case 190:
|
||||
number = true;
|
||||
break;
|
||||
case 191:
|
||||
number = true;
|
||||
break;
|
||||
case 192:
|
||||
number = true;
|
||||
break;
|
||||
case 193:
|
||||
number = true;
|
||||
break;
|
||||
case 194:
|
||||
number = true;
|
||||
break;
|
||||
case 11:
|
||||
number = true;
|
||||
break;
|
||||
|
||||
}
|
||||
return number;
|
||||
|
Loading…
x
Reference in New Issue
Block a user