HWPF-POI:用java在word中插入表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HWPF-POI:用java在word中插入表相关的知识,希望对你有一定的参考价值。

我想在Word中使用POI-HWPF(例如doc格式)创建一个表。我的示例代码是:

Table table = document.getRange().insertTableBefore((short) 2, 2);

该表已插入,但我看不到它 - 好像表的宽度为0.可以有人帮助我吗?

答案

this旧错误报告中链接的文件应该让您知道如何做到这一点。

所以本质上:您可能需要添加一些内容(即单元格中的段落),以便Word可以呈现某些内容。

以下是错误报告中使用的示例代码:

private static void test (int rows, int columns) throws Exception {
    // POI apparently can't create a document from scratch,
    // so we need an existing empty dummy document
    POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("empty.doc"));
    HWPFDocument doc = new HWPFDocument(fs);

    Range range = doc.getRange();
    Table table = range.insertBefore(new TableProperties(columns), rows);

    for (int rowIdx=0; rowIdx<table.numRows(); rowIdx++) {
        TableRow row = table.getRow(rowIdx);
        System.out.println("row "+rowIdx);
        for (int colIdx=0; colIdx<row.numCells(); colIdx++) {
            TableCell cell = row.getCell(colIdx);
            System.out.println("column "+colIdx+", num paragraphs "+cell.numParagraphs());
            try {
                Paragraph par = cell.getParagraph(0);
                par.insertBefore(""+(rowIdx*row.numCells()+colIdx));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

以上是关于HWPF-POI:用java在word中插入表的主要内容,如果未能解决你的问题,请参考以下文章

Java 向已经存在的Word文件插入数据

如何在Word中插入代码

用java将数据插入mySQL表

如何通过Java 代码设置 Word 文档页边距

如何在word中插入excel文件?

用C#把word中的表格数据读取到xml文件