修改合并异常
This commit is contained in:
parent
9a63692bd5
commit
55a1fe1302
@ -3,6 +3,7 @@
|
||||
## 提前沟通
|
||||
尽量把自己的想法和实现思路提前沟通,可以通过issue,钉钉,QQ都可以,可能很多问题我们内部已经讨论过,由于各种原因后续不会支持,但是您这边又开发好了,这样容易浪费您的时间。
|
||||
## 代码规范
|
||||
请先按照阿里巴巴代码规约!!!https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
|
||||
目前代码规范已经集成了自动校验,然后源代码尽量不要有中文注释。在新增功能的时候,尽量注意补充junit。core代表每次travis-ci都会跑的测试案例,然后demo用于对外看到,temp里面随便写。
|
||||
## 提交分支
|
||||
建议提交到最新的版本号.x上面,比如 3.x之类的版本,为了方便其他同学阅读源代码,所以目前的思路是master和maven center的最新版本代码保持一致,然后您提交过来的代码我们可能会稍微做一些修改。所以提交到开发分支会比较好。fork也可以直接fork该分支。
|
||||
|
@ -17,9 +17,6 @@ import org.apache.poi.xssf.model.StylesTable;
|
||||
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||
import org.xml.sax.Attributes;
|
||||
|
||||
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
|
||||
import org.xml.sax.Attributes;
|
||||
|
||||
/**
|
||||
* Cell Handler
|
||||
*
|
||||
@ -48,7 +45,7 @@ public class CellTagHandler extends AbstractXlsxTagHandler {
|
||||
|
||||
// Put in data transformation information
|
||||
String dateFormatIndex = attributes.getValue(ExcelXmlConstants.ATTRIBUTE_S);
|
||||
Integer dateFormatIndexInteger;
|
||||
int dateFormatIndexInteger;
|
||||
if (StringUtils.isEmpty(dateFormatIndex)) {
|
||||
dateFormatIndexInteger = DEFAULT_FORMAT_INDEX;
|
||||
} else {
|
||||
@ -74,53 +71,6 @@ public class CellTagHandler extends AbstractXlsxTagHandler {
|
||||
StringBuilder tempData = xlsxReadSheetHolder.getTempData();
|
||||
String tempDataString = tempData.toString();
|
||||
CellDataTypeEnum oldType = tempCellData.getType();
|
||||
switch (oldType) {
|
||||
case STRING:
|
||||
// In some cases, although cell type is a string, it may be an empty tag
|
||||
if (StringUtils.isEmpty(tempCellData.getStringValue())) {
|
||||
break;
|
||||
}
|
||||
String stringValue = xlsxReadContext.readWorkbookHolder().getReadCache()
|
||||
.get(Integer.valueOf(tempCellData.getStringValue()));
|
||||
tempCellData.setStringValue(stringValue);
|
||||
break;
|
||||
case DIRECT_STRING:
|
||||
case ERROR:
|
||||
tempCellData.setStringValue(tempData.toString());
|
||||
tempCellData.setType(CellDataTypeEnum.STRING);
|
||||
break;
|
||||
case BOOLEAN:
|
||||
if (StringUtils.isEmpty(tempDataString)) {
|
||||
tempCellData.setType(CellDataTypeEnum.EMPTY);
|
||||
break;
|
||||
}
|
||||
tempCellData.setBooleanValue(BooleanUtils.valueOf(tempData.toString()));
|
||||
break;
|
||||
case NUMBER:
|
||||
case EMPTY:
|
||||
if (StringUtils.isEmpty(tempDataString)) {
|
||||
tempCellData.setType(CellDataTypeEnum.EMPTY);
|
||||
break;
|
||||
}
|
||||
tempCellData.setType(CellDataTypeEnum.NUMBER);
|
||||
tempCellData.setNumberValue(BigDecimal.valueOf(Double.parseDouble(tempDataString)));
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Cannot set values now");
|
||||
}
|
||||
|
||||
if (tempCellData.getStringValue() != null
|
||||
&& xlsxReadContext.currentReadHolder().globalConfiguration().getAutoTrim()) {
|
||||
tempCellData.setStringValue(tempCellData.getStringValue().trim());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endElement(XlsxReadContext xlsxReadContext, String name) {
|
||||
XlsxReadSheetHolder xlsxReadSheetHolder = xlsxReadContext.xlsxReadSheetHolder();
|
||||
CellData tempCellData = xlsxReadSheetHolder.getTempCellData();
|
||||
StringBuilder tempData = xlsxReadSheetHolder.getTempData();
|
||||
String tempDataString = tempData.toString();
|
||||
CellDataTypeEnum oldType = tempCellData.getType();
|
||||
switch (oldType) {
|
||||
case STRING:
|
||||
// In some cases, although cell type is a string, it may be an empty tag
|
||||
@ -158,13 +108,10 @@ public class CellTagHandler extends AbstractXlsxTagHandler {
|
||||
|
||||
if (tempCellData.getStringValue() != null
|
||||
&& xlsxReadContext.currentReadHolder().globalConfiguration().getAutoTrim()) {
|
||||
tempCellData.setStringValue(tempCellData.getStringValue());
|
||||
tempCellData.setStringValue(tempCellData.getStringValue().trim());
|
||||
}
|
||||
|
||||
tempCellData.checkEmpty();
|
||||
xlsxReadSheetHolder.getCellMap().put(xlsxReadSheetHolder.getColumnIndex(), tempCellData);
|
||||
}
|
||||
tempCellData.checkEmpty();
|
||||
xlsxReadSheetHolder.getCellMap().put(xlsxReadSheetHolder.getColumnIndex(), tempCellData);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user