java Apache POI库 在word文档里写张意见表
时间: 2024-04-12 19:27:39 浏览: 153
POI生成word文档
3星 · 编辑精心推荐
要在Word文档中创建一张意见表,您可以使用Apache POI库。下面是一个简单的示例代码,演示如何创建一张意见表:
```java
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class CreateCommentTable {
public static void main(String[] args) {
// 创建新的Word文档
XWPFDocument document = new XWPFDocument();
// 创建表格
XWPFTable table = document.createTable(5, 2);
// 设置表格样式
CTTblPr tblPr = table.getCTTbl().getTblPr();
CTTblBorders borders = tblPr.addNewTblBorders();
CTBorder border = borders.addNewInsideH();
border.setVal(STBorder.SINGLE);
border.setSz(new BigInteger("2"));
border.setColor("000000");
// 设置表格标题
XWPFParagraph titleParagraph = document.createParagraph();
XWPFRun titleRun = titleParagraph.createRun();
titleRun.setText("意见表");
titleRun.setBold(true);
titleRun.setFontSize(14);
// 合并表格单元格并设置标题样式
table.getRow(0).getCell(0).setText("姓名");
table.getRow(0).getCell(1).setText("意见");
for (int col = 0; col < 2; col++) {
table.getRow(0).getCell(col).setColor("C0C0C0");
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewBottom().setVal(STBorder.SINGLE);
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewTop().setVal(STBorder.SINGLE);
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewLeft().setVal(STBorder.SINGLE);
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewRight().setVal(STBorder.SINGLE);
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewInsideH().setVal(STBorder.SINGLE);
table.getRow(0).getCell(col).getCTTc().addNewTcPr().addNewTcBorders().addNewInsideV().setVal(STBorder.SINGLE);
}
table.getRow(0).getCell(0).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
table.getRow(0).getCell(1).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);
// 填充表格内容
String[] names = {"张三", "李四", "王五", "赵六", "陈七"};
String[] comments = {"意见1", "意见2", "意见3", "意见4", "意见5"};
for (int row = 1; row < 6; row++) {
table.getRow(row).getCell(0).setText(names[row-1]);
table.getRow(row).getCell(1).setText(comments[row-1]);
}
// 保存文档
try {
FileOutputStream out = new FileOutputStream("comment_table.docx");
document.write(out);
out.close();
System.out.println("意见表创建成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码创建了一个新的Word文档,并在其中创建了一个5行2列的意见表。代码中使用了一些样式设置,如设置表格边框、设置标题样式等。填充表格内容时,使用了预定义的姓名和意见数组。
保存文档后,您会在当前目录下找到名为`comment_table.docx`的Word文档,其中包含了创建好的意见表。
请注意,上述示例代码仅演示了如何创建一张简单的意见表,您可以根据需求进一步调整样式和表格内容。具体的API文档可以参考Apache POI的官方文档。
阅读全文