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