如何在Java中更改Apache POI中的XWPFTableCell边距?

时间:2017-09-28 12:07:36

标签: java apache ms-word apache-poi xwpf

我尝试过多搜索但没有得到理想的结果。我使用Apache POI使用XWPF将特定的ata从Excel工作表复制到MS Word 2010文件中的表。我已经完成了。

我要做的最后一件事是为每个单元格添加一个小的左右边距,这样文本就不会粘在单元格边框上。我在互联网上搜索了所有内容,但无法这样做。也许我错过了什么。

1 个答案:

答案 0 :(得分:3)

您可以在表级设置单元格边距:

table.setCellMargins(0, 500, 0, 500);

完整示例如下所示:

public static void main(String[] args) throws IOException {
    XWPFDocument doc = new XWPFDocument();
    FileOutputStream out = new FileOutputStream(new File(FILENAME));

    XWPFParagraph para = doc.createParagraph();
    XWPFRun run = para.createRun();

    //table
    XWPFTable table = doc.createTable();
    table.setCellMargins(0, 500, 0, 500); //set margins here

    //rows
    XWPFTableRow row1 = table.getRow(0);
    row1.getCell(0).setText("Hello1");
    row1.addNewTableCell().setText("Hello2");
    row1.addNewTableCell().setText("Hello3");

    XWPFTableRow row2 = table.createRow();
    row2.getCell(0).setText("Hello4");
    row2.getCell(1).setText("Hello5");
    row2.getCell(2).setText("Hello6");

    doc.write(out);
    out.close();
    doc.close();
}