java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!相关的知识,希望对你有一定的参考价值。
用PageOffice实现比较简单,代码片段WordDocument doc = new WordDocument();
Table table1 = doc.openDataRegion("Text").openTable(1);//打开已存在表格
table1.setPreferredWidthType(WdPreferredWidthType.wdPreferredWidthPoints);
table1.setPreferredWidth(350);//设置表格宽度
table1.openColumn(1).setWidth(150, WdRulerStyle.wdAdjustFirstColumn);//设置第一列宽度
//table1.openRow(2).setHeight(50);//设置第二行行高
table1.setRowsHeight(50);//设置表格里所有行的行高
table1.openCellRC(2, 1).setValue("PageOffice");//单元格填值table1.openCellRC(2, 1).getFont().setSize(15);//下面设置字体
table1.openCellRC(2, 1).getFont().setColor(Color.GREEN);
table1.openCellRC(2, 1).getFont().setBold(true);
table1.openCellRC(2, 1).getFont().setItalic(true);
table1.openCellRC(1, 1).mergeTo(1, 5);//第一行的5个单元格合并为一个单元 参考技术A 有个最简单,不用使用任何 poi 或其他第三方类库的方法生成 excel ,或 word ,
你把一个生成好的 word 例子用文件另存为 xml , docx 之类,然后你再直接用记事本去打开这个 docx ,你就会发现是 xml 格式,
这个时候,你在程序里面就直接用普通代码生成这个 xml 就可以了。追问
你这方法行吗,发个例子看看!
追答这个方法是最简单,功能最强大的。
我只写给例子给你,教你如何做:
假如,你另存为 docx 后用记事本打开,如下(我只是写例子,实际格式你直接看实际文件):
这是一个三行两列的单元格
对于上面的例子,你这样做:
int merge-row = 2;
int merge-col = 3;
String cell-content = "这是一个三行两列的单元格";
String pre = "";
String content = "" + cell-content + "";
String xml = pre + content + suffix;
就是上面的方法,就是说,你格式直接复制 docx 原有生成好的模板,然后只修改它的变量。
你把你的QQ给我可以吗,我有点纠结
追答你直接在这里面说就可以了,这里所有人都可以看到,或许其他人也会帮到你。
追问public static void createactive(XWPFDocument doc, int cols,
int rows, String tabStyle)
try
XWPFSettings settings = new XWPFSettings();
XWPFTable table = doc.createTable(rows, cols);
CTTblPr tblPr = table.getCTTbl().getTblPr();
CTString styleStr = tblPr.addNewTblStyle();
styleStr.setVal(tabStyle);
这不行我想给你看看代码,字数太多了
这段是什么?什么意思?
我只用过一下 poi ,最后直接没用,直接使用 xml 生成 xlsx, docx
这个下面还有啊,这个就是生成表格啊 ,你的那个办法我太清楚怎么写啊!
追答给你找了个好例子,自己好好看下,用 poi 我现在没详细去看:
http://stackoverflow.com/questions/13455762/some-hwpf-poi-document-building-examples
你主要看下面人家回复的 rtf 部分。
还有,你可以直接 Google :
http://www.google.co.uk/search?newwindow=1&hl=en&noj=1&site=webhp&source=hp&q=java+poi+word+example&oq=java+poi+word+example&gs_l=hp.3..0j0i22i30l4.1517.7381.0.8775.23.21.1.1.1.0.450.2874.6j12j2j0j1.21.0...0.0...1c.1.12.hp.9tr6nKDlxP8
java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody
最终解决的办法是修改jar包版本,一定要对应上。
1 <dependency> 2 <groupId>org.apache.poi</groupId> 3 <artifactId>poi</artifactId> 4 <version>3.10.1</version> 5 </dependency> 6 <dependency> 7 <groupId>org.apache.poi</groupId> 8 <artifactId>poi-ooxml-schemas</artifactId> 9 <version>3.10.1</version> 10 </dependency> 11 <dependency> 12 <groupId>org.apache.poi</groupId> 13 <artifactId>poi-ooxml</artifactId> 14 <version>3.10.1</version> 15 </dependency> 16 <dependency> 17 <groupId>org.apache.poi</groupId> 18 <artifactId>poi-scratchpad</artifactId> 19 <version>3.9</version> 20 </dependency> 21 22 <dependency> 23 <groupId>fr.opensagres.xdocreport</groupId> 24 <artifactId>xdocreport</artifactId> 25 <version>2.0.1</version> 26 </dependency> 27 28 <dependency> 29 <groupId>fr.opensagres.xdocreport</groupId> 30 <artifactId>fr.opensagres.xdocreport.document</artifactId> 31 <version>2.0.1</version> 32 </dependency> 33 34 <dependency> 35 <groupId>fr.opensagres.xdocreport</groupId> 36 <artifactId>org.apache.poi.xwpf.converter.core</artifactId> 37 <version>1.0.6</version> 38 </dependency> 39 40 <dependency> 41 <groupId>fr.opensagres.xdocreport</groupId> 42 <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId> 43 <version>1.0.6</version> 44 </dependency> 45 46 <dependency> 47 <groupId>fr.opensagres.xdocreport</groupId> 48 <artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId> 49 <version>1.0.6</version> 50 </dependency>
以上是关于java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 中使用 Apache POI XWPF 在 Word 文档中的横向/纵向之间切换