From 52b645a151983b63b42812613b30e2bae399d269 Mon Sep 17 00:00:00 2001 From: jueyue Date: Tue, 24 Nov 2015 23:12:38 +0800 Subject: [PATCH] =?UTF-8?q?WORD=20=E7=9A=84=E6=96=B0=E5=A2=9ERow,=E6=94=B9?= =?UTF-8?q?=E4=B8=BAInsert=20Row?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecgframework/poi/word/parse/ParseWord07.java | 3 ++- .../jeecgframework/poi/word/parse/excel/ExcelEntityParse.java | 2 +- .../org/jeecgframework/poi/word/parse/excel/ExcelMapParse.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java index d004a95..2dccc7e 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java @@ -18,7 +18,6 @@ package org.jeecgframework.poi.word.parse; import static org.jeecgframework.poi.util.PoiElUtil.*; import java.util.ArrayList; -import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -222,8 +221,10 @@ public class ParseWord07 { } else if (listobj instanceof ExcelListEntity) { table.removeRow(i);// 删除这一行 new ExcelEntityParse().parseNextRowAndAddRow(table, i, (ExcelListEntity) listobj); + i = i + ((ExcelListEntity) listobj).getList().size() - 1;//删除之后要往上挪一行,然后加上跳过新建的行数 } else { ExcelMapParse.parseNextRowAndAddRow(table, i, (List) listobj); + i = i + ((List) listobj).size() - 1;//删除之后要往上挪一行,然后加上跳过新建的行数 } } } diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelEntityParse.java b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelEntityParse.java index 04ddb85..1b0125e 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelEntityParse.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelEntityParse.java @@ -57,7 +57,7 @@ public class ExcelEntityParse extends ExportBase { private int createCells(int index, Object t, List excelParams, XWPFTable table, short rowHeight) throws Exception { ExcelExportEntity entity; - XWPFTableRow row = table.createRow(); + XWPFTableRow row = table.insertNewTableRow(index); row.setHeight(rowHeight); int maxHeight = 1, cellNum = 0; for (int k = 0, paramSize = excelParams.size(); k < paramSize; k++) { diff --git a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelMapParse.java b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelMapParse.java index a507865..28362e4 100644 --- a/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelMapParse.java +++ b/easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/excel/ExcelMapParse.java @@ -75,7 +75,7 @@ public final class ExcelMapParse { int cellIndex = 0;// 创建完成对象一行好像多了一个cell Map tempMap = Maps.newHashMap(); for (Object obj : list) { - currentRow = isCreate ? table.createRow() : table.getRow(index++); + currentRow = isCreate ? table.insertNewTableRow(index++) : table.getRow(index++); tempMap.put("t", obj); for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) { String val = eval(params[cellIndex], tempMap).toString();