Browse Source

word 模板解析增加了页眉和页脚的解析

4.1.3.A
jueyue 10 years ago
parent
commit
c58cea3129
4 changed files with 33 additions and 10 deletions
  1. +27
    -1
      easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java
  2. +3
    -8
      easypoi-test/.classpath
  3. +3
    -1
      easypoi-test/src/main/java/org/jeecgframework/poi/word/WordExportUtilTest.java
  4. BIN
      easypoi-test/src/main/java/org/jeecgframework/poi/word/doc/Simple.docx

+ 27
- 1
easypoi-base/src/main/java/org/jeecgframework/poi/word/parse/ParseWord07.java View File

@@ -6,6 +6,8 @@ import java.util.List;
import java.util.Map;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFFooter;
import org.apache.poi.xwpf.usermodel.XWPFHeader;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFTable;
@@ -42,6 +44,7 @@ public class ParseWord07 {
* @param currentRun
* @throws Exception
*/
@SuppressWarnings("deprecation")
private void addAnImage(WordImageEntity obj, XWPFRun currentRun) throws Exception {
Object[] isAndType = POIPublicUtil.getIsAndType(obj);
String picId;
@@ -239,7 +242,9 @@ public class ParseWord07 {
private void parseWordSetValue(MyXWPFDocument doc, Map<String, Object> map) throws Exception {
// 第一步解析文档
parseAllParagraphic(doc.getParagraphs(), map);
// 第二步解析所有表格
// 第二步解析页眉,页脚
parseHeaderAndFoot(doc, map);
// 第三步解析所有表格
XWPFTable table;
Iterator<XWPFTable> itTable = doc.getTablesIterator();
while (itTable.hasNext()) {
@@ -251,4 +256,25 @@ public class ParseWord07 {
}
/**
* 解析页眉和页脚
* @param doc
* @param map
* @throws Exception
*/
private void parseHeaderAndFoot(MyXWPFDocument doc, Map<String, Object> map) throws Exception {
List<XWPFHeader> headerList = doc.getHeaderList();
for (XWPFHeader xwpfHeader : headerList) {
for (int i = 0; i < xwpfHeader.getListParagraph().size(); i++) {
parseThisParagraph(xwpfHeader.getListParagraph().get(i), map);
}
}
List<XWPFFooter> footerList = doc.getFooterList();
for (XWPFFooter xwpfFooter : footerList) {
for (int i = 0; i < xwpfFooter.getListParagraph().size(); i++) {
parseThisParagraph(xwpfFooter.getListParagraph().get(i), map);
}
}
}
}

+ 3
- 8
easypoi-test/.classpath View File

@@ -1,22 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<classpathentry kind="src" output="target/test-classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<classpathentry kind="src" path="src/test"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>


+ 3
- 1
easypoi-test/src/main/java/org/jeecgframework/poi/word/WordExportUtilTest.java View File

@@ -17,7 +17,7 @@ public class WordExportUtilTest {
/**
* 简单导出包含图片
*/
@Test
//@Test
public void imageWordExport() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("department", "Jeecg");
@@ -49,6 +49,8 @@ public class WordExportUtilTest {
map.put("department", "Jeecg");
map.put("person", "JueYue");
map.put("time", format.format(new Date()));
map.put("me","JueYue");
map.put("date", "2015-01-03");
try {
XWPFDocument doc = WordExportUtil.exportWord07(
"org/jeecgframework/poi/word/doc/Simple.docx", map);


BIN
easypoi-test/src/main/java/org/jeecgframework/poi/word/doc/Simple.docx View File


Loading…
Cancel
Save