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 文档中的横向/纵向之间切换

Apache POI XWPF 特定位置插入表格段落图片

替换Apache POI XWPF中的文本

java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody

poi根据模版生成多页word,并压缩下载

java poi XWPFTable操作word表格的问题?