Sfoglia il codice sorgente

模板 自动合并的功能

4.1.3.A
jueyue 9 anni fa
parent
commit
5f49b6883c
7 ha cambiato i file con 27 aggiunte e 17 eliminazioni
  1. +1
    -1
      README.md
  2. +1
    -1
      easypoi-annotation/pom.xml
  3. +1
    -1
      easypoi-base/pom.xml
  4. +15
    -10
      easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java
  5. +6
    -1
      easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java
  6. +1
    -1
      easypoi-web/pom.xml
  7. +2
    -2
      pom.xml

+ 1
- 1
README.md Vedi File

@@ -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的主要特点


+ 1
- 1
easypoi-annotation/pom.xml Vedi File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.jeecg</groupId>
<artifactId>easypoi</artifactId>
<version>2.1.3</version>
<version>2.1.4-SNAPSHOT</version>
</parent>
<artifactId>easypoi-annotation</artifactId>
<description>基础注解类,解耦合</description>

+ 1
- 1
easypoi-base/pom.xml Vedi File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.jeecg</groupId>
<artifactId>easypoi</artifactId>
<version>2.1.3</version>
<version>2.1.4-SNAPSHOT</version>
</parent>
<artifactId>easypoi-base</artifactId>
<dependencies>


+ 15
- 10
easypoi-base/src/main/java/org/jeecgframework/poi/excel/export/template/ExcelExportOfTemplateUtil.java Vedi File

@@ -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;


+ 6
- 1
easypoi-base/src/main/java/org/jeecgframework/poi/excel/imports/CellValueServer.java Vedi File

@@ -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));


+ 1
- 1
easypoi-web/pom.xml Vedi File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.jeecg</groupId>
<artifactId>easypoi</artifactId>
<version>2.1.3</version>
<version>2.1.4-SNAPSHOT</version>
</parent>
<artifactId>easypoi-web</artifactId>
<dependencies>


+ 2
- 2
pom.xml Vedi File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.jeecg</groupId>
<artifactId>easypoi</artifactId>
<version>2.1.3</version>
<version>2.1.4-SNAPSHOT</version>
<packaging>pom</packaging>
<name>easypoi</name>
<modules>
@@ -38,7 +38,7 @@
</developers>
<properties>
<sub.version>2.1.3</sub.version>
<sub.version>2.1.4-SNAPSHOT</sub.version>
<poi.version>3.9</poi.version>
<xerces.version>2.9.1</xerces.version>
<guava.version>16.0.1</guava.version>


Caricamento…
Annulla
Salva