diff --git a/README.md b/README.md
index 9aac0bf..648d287 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ EasyPoi Excel和 Word简易工具类
作者博客:http://blog.csdn.net/qjueyue
作者邮箱: qrb.jueyue@gmail.com
QQ群: 364192721
- 测试项目: http://git.oschina.net/jueyue/easypoi-test
+ 测试项目: [http://git.oschina.net/jueyue/easypoi-test](http://git.oschina.net/jueyue/easypoi-test)
---------------------------
EasyPoi的主要特点
diff --git a/easypoi-annotation/pom.xml b/easypoi-annotation/pom.xml
index 07f8136..23992d2 100644
--- a/easypoi-annotation/pom.xml
+++ b/easypoi-annotation/pom.xml
@@ -4,7 +4,7 @@
org.jeecg
easypoi
- 2.1.3
+ 2.1.4-SNAPSHOT
easypoi-annotation
基础注解类,解耦合
diff --git a/easypoi-base/pom.xml b/easypoi-base/pom.xml
index d4514fd..2ef6f04 100644
--- a/easypoi-base/pom.xml
+++ b/easypoi-base/pom.xml
@@ -4,7 +4,7 @@
org.jeecg
easypoi
- 2.1.3
+ 2.1.4-SNAPSHOT
easypoi-base
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java
index a931f35..abb250f 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java
@@ -427,16 +427,18 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase {
ExcelForEachParams params;
row = row.getSheet().getRow(row.getRowNum() - rowspan + 1);
for (int k = 0; k < rowspan; k++) {
- for (int i = 0; i < colspan; i++) {
+ int ci = columnIndex;//cell的序号
+ for (int i = 0; i < colspan && i < columns.size(); i++) {
boolean isNumber = false;
params = columns.get(colspan * k + i);
- tempCreateCellSet.add(row.getRowNum() + "_" + (i + columnIndex));
+ ci += i;
+ tempCreateCellSet.add(row.getRowNum() + "_" + (ci));
if (params == null) {
continue;
}
if (StringUtils.isEmpty(params.getName())
&& StringUtils.isEmpty(params.getConstValue())) {
- row.getCell(i + columnIndex).setCellStyle(columns.get(i).getCellStyle());
+ row.getCell(ci).setCellStyle(columns.get(i).getCellStyle());
continue;
}
String val = null;
@@ -453,20 +455,21 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase {
val = eval(tempStr, map).toString();
}
if (isNumber && StringUtils.isNotEmpty(val)) {
- row.getCell(i + columnIndex).setCellValue(Double.parseDouble(val));
- row.getCell(i + columnIndex).setCellType(Cell.CELL_TYPE_NUMERIC);
+ row.getCell(ci).setCellValue(Double.parseDouble(val));
+ row.getCell(ci).setCellType(Cell.CELL_TYPE_NUMERIC);
} else {
- row.getCell(i + columnIndex).setCellValue(val);
+ row.getCell(ci).setCellValue(val);
}
- row.getCell(i + columnIndex).setCellStyle(columns.get(i).getCellStyle());
+ row.getCell(ci).setCellStyle(columns.get(i).getCellStyle());
//合并对应单元格
if ((params.getRowspan() != 1 || params.getColspan() != 1)
- && !mergedRegionHelper.isMergedRegion(row.getRowNum() + 1, i + columnIndex)) {
+ && !mergedRegionHelper.isMergedRegion(row.getRowNum() + 1, ci)) {
row.getSheet()
.addMergedRegion(new CellRangeAddress(row.getRowNum(),
row.getRowNum() + params.getRowspan() - 1, i + columnIndex,
i + columnIndex + params.getColspan() - 1));
}
+ ci = ci - i + columns.get(i).getColspan() - 1;
}
row = row.getSheet().getRow(row.getRowNum() + 1);
}
@@ -489,10 +492,11 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase {
if (!name.contains(END_STR)) {
int index = cell.getColumnIndex();
//保存col 的开始列
- int startIndex = index;
+ int startIndex = cell.getColumnIndex();
Row row = cell.getRow();
while (true) {
- cell = row.getCell(++index);
+ index += columns.get(columns.size() - 1).getColspan();
+ cell = row.getCell(index);
//可能是合并的单元格
if (cell == null) {
//读取是判断,跳过
@@ -516,6 +520,7 @@ public final class ExcelExportOfTemplateUtil extends ExcelExportBase {
//把读取过的cell 置为空
cell.setCellValue("");
if (cellStringString.contains(END_STR)) {
+ colspan = index - startIndex + 1;
columns.add(getExcelTemplateParams(cellStringString.replace(END_STR, EMPTY),
cell, mergedRegionHelper));
break;
diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java
index c50eb9f..1b3848b 100644
--- a/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java
+++ b/easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java
@@ -199,7 +199,12 @@ public class CellValueServer {
return Float.valueOf(String.valueOf(result));
}
if ("class java.lang.Integer".equals(xclass) || "int".equals(xclass)) {
- return Integer.valueOf(String.valueOf(result));
+ try {
+ return Integer.valueOf(String.valueOf(result));
+ } catch (Exception e) {
+ //格式错误的时候,就用double,然后获取Int值
+ return Double.valueOf(String.valueOf(result)).intValue();
+ }
}
if ("class java.math.BigDecimal".equals(xclass)) {
return new BigDecimal(String.valueOf(result));
diff --git a/easypoi-web/pom.xml b/easypoi-web/pom.xml
index d13a7f6..bbb5f8f 100644
--- a/easypoi-web/pom.xml
+++ b/easypoi-web/pom.xml
@@ -4,7 +4,7 @@
org.jeecg
easypoi
- 2.1.3
+ 2.1.4-SNAPSHOT
easypoi-web
diff --git a/pom.xml b/pom.xml
index ae00c8e..709a23f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.jeecg
easypoi
- 2.1.3
+ 2.1.4-SNAPSHOT
pom
easypoi
@@ -38,7 +38,7 @@
- 2.1.3
+ 2.1.4-SNAPSHOT
3.9
2.9.1
16.0.1