[Java] 纯文本查看 复制代码 import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge;
public class Test {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
XWPFTable table = document.createTable(5, 6);
table.setWidth("100%");
for (int row = 0; row < 5; row++) {
for (int column = 0; column < 6; column++) {
table.getRow(row).getCell(column).setText(row + "-" + column);
}
}
// 合并表格的水平单元格
for (int column = 1; column <= 3; column++) {
// 为第二行的单元格设置水平合并,起始单元格
table.getRow(2).getCell(column).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
// 为第三行的单元格设置水平合并,继续单元格
table.getRow(3).getCell(column).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);
}
// 合并表格的垂直单元格
// 为第二行的单元格设置垂直合并,起始单元格
table.getRow(2).getCell(1).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);
// 为第三行的单元格设置垂直合并,继续单元格
table.getRow(3).getCell(1).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE);
// 2,1、2,2 水平合并
// table.getRow(2).getCell(1).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
// table.getRow(3).getCell(2).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);
// 3,1、3,2 水平合并
// table.getRow(3).getCell(1).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART);
// table.getRow(3).getCell(2).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE);
//
// // 2,1、3,1 垂直合并
// table.getRow(2).getCell(1).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART);
// table.getRow(3).getCell(1).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE);
document.write(new FileOutputStream("d:/666.docx"));
document.close();
}
} |