Merge remote-tracking branch 'upstream/feature-1.x' into feature-1.x
# Conflicts: # update.md
This commit is contained in:
commit
c11f68d207
@ -118,6 +118,8 @@ public class DataFormatter {
|
|||||||
*/
|
*/
|
||||||
private static final String invalidDateTimeString;
|
private static final String invalidDateTimeString;
|
||||||
|
|
||||||
|
private static final BigDecimal TEN = new BigDecimal(10);
|
||||||
|
|
||||||
static {
|
static {
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
for (int i = 0; i < 255; i++) {buf.append('#');}
|
for (int i = 0; i < 255; i++) {buf.append('#');}
|
||||||
@ -524,11 +526,17 @@ public class DataFormatter {
|
|||||||
setExcelStyleRoundingMode(df);
|
setExcelStyleRoundingMode(df);
|
||||||
Matcher endsWithCommasMatcher = endsWithCommas.matcher(pattern);
|
Matcher endsWithCommasMatcher = endsWithCommas.matcher(pattern);
|
||||||
if (endsWithCommasMatcher.find()) {
|
if (endsWithCommasMatcher.find()) {
|
||||||
|
int index_point = pattern.indexOf(".");
|
||||||
|
int index_comma = pattern.indexOf(",");
|
||||||
|
int cnt = index_comma - index_point - 1;
|
||||||
String commas = (endsWithCommasMatcher.group(1));
|
String commas = (endsWithCommasMatcher.group(1));
|
||||||
BigDecimal temp = BigDecimal.ONE;
|
BigDecimal temp = BigDecimal.ONE;
|
||||||
for (int i = 0; i < commas.length(); ++i) {
|
for (int i = 0; i < commas.length(); ++i) {
|
||||||
temp = temp.multiply(ONE_THOUSAND);
|
temp = temp.multiply(ONE_THOUSAND);
|
||||||
}
|
}
|
||||||
|
for (int i = 0; i < cnt ; i++) {
|
||||||
|
temp = temp.multiply(TEN);
|
||||||
|
}
|
||||||
divider = temp;
|
divider = temp;
|
||||||
} else {
|
} else {
|
||||||
divider = null;
|
divider = null;
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
package cn.idev.excel.test.temp.issue2319;
|
||||||
|
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@EqualsAndHashCode
|
||||||
|
public class Issue2319 {
|
||||||
|
private String num1;
|
||||||
|
private String num2;
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package cn.idev.excel.test.temp.issue2319;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSON;
|
||||||
|
|
||||||
|
import cn.idev.excel.EasyExcel;
|
||||||
|
import cn.idev.excel.FastExcel;
|
||||||
|
import cn.idev.excel.read.listener.PageReadListener;
|
||||||
|
import cn.idev.excel.test.util.TestFileUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class Issue2319Test {
|
||||||
|
@Test
|
||||||
|
public void IssueTest1() {
|
||||||
|
String fileName = TestFileUtil.getPath() + "temp/issue2319" + File.separator + "test1.xlsx";
|
||||||
|
FastExcel.read(fileName, Issue2319.class, new PageReadListener<Issue2319>(dataList -> {
|
||||||
|
for (Issue2319 issueData : dataList) {
|
||||||
|
System.out.println(("读取到一条数据{}" + JSON.toJSONString(issueData)));
|
||||||
|
}
|
||||||
|
})).sheet().doRead();
|
||||||
|
}
|
||||||
|
|
||||||
|
//CS304 (manually written) Issue link: https://github.com/alibaba/easyexcel/issues/2319
|
||||||
|
@Test
|
||||||
|
public void IssueTest2() {
|
||||||
|
String fileName = TestFileUtil.getPath() + "temp/issue2319" + File.separator + "test2.xlsx";
|
||||||
|
FastExcel.read(fileName, Issue2319.class, new PageReadListener<Issue2319>(dataList -> {
|
||||||
|
for (Issue2319 issueData : dataList) {
|
||||||
|
System.out.println(("读取到一条数据{}" + JSON.toJSONString(issueData)));
|
||||||
|
}
|
||||||
|
})).sheet().doRead();
|
||||||
|
}
|
||||||
|
}
|
BIN
fastexcel-test/src/test/resources/temp/issue2319/test1.xlsx
Normal file
BIN
fastexcel-test/src/test/resources/temp/issue2319/test1.xlsx
Normal file
Binary file not shown.
BIN
fastexcel-test/src/test/resources/temp/issue2319/test2.xlsx
Normal file
BIN
fastexcel-test/src/test/resources/temp/issue2319/test2.xlsx
Normal file
Binary file not shown.
@ -4,6 +4,6 @@
|
|||||||
具体更新内容如下:
|
具体更新内容如下:
|
||||||
- 【改进】移除 `itext` 依赖库,将 `转换PDF` 功能迁移至新项目;
|
- 【改进】移除 `itext` 依赖库,将 `转换PDF` 功能迁移至新项目;
|
||||||
- 【修复】fill填充空数据,可能导致行数据错乱的问题;
|
- 【修复】fill填充空数据,可能导致行数据错乱的问题;
|
||||||
- 【修复】打印CSV文件的 `hashcode`,可能会产生的堆栈溢出问题;
|
- 【修复】自定义数据格式可能导致数据读取失败的问题;
|
||||||
- 【优化】增加报错内容详细信息;
|
- 【优化】增加报错内容详细信息;
|
||||||
- 【优化】更新代码格式和部分错别字。
|
- 【优化】更新代码格式和部分错别字。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user