当前位置: 首页 > 知识库问答 >
问题:

使用Java创建Word文档

苗阳文
2023-03-14

我使用数据库中的数据获取默认表模型,我想以doc word打印为表。如何实现。请参阅下面的代码

    try {
        try {
            con = connCC.getDBconnection();
             } catch (ClassNotFoundException ex) {
              Logger.getLogger(CustomerSR.class.getName()).log(Level.SEVERE, null, ex);
        }
        stm = con.createStatement();
        ResultSet rs = stm.executeQuery("Select * From Appointment");

        while (rs.next()) {

            for (int col = 0; col < 1; col++) {
                rowData.add(rs.getString(1));
                rowData.add(rs.getString(2));
                rowData.add(rs.getString(3));
                rowData.add(rs.getString(4));
                rowData.add(rs.getString(5));
            }
            model.addRow(rowData);
        }
            window.display(model);
           //window.display(names, phones, addresses);
        } catch (SQLException ex) {
          ex.printStackTrace();
    }

}

共有1个答案

罗光华
2023-03-14

在上面的评论中,我看到您已经在使用Apache POI。如果我理解正确,您希望将数据库中的数据输入到word文档的表中。请阅读本教程,了解如何使用Apache POI在word中创建表:http://www.tutorialspoint.com/apache_poi_word/apache_poi_word_tables.htm

可以使用从数据库检索的数据直接设置文本。如果你需要的话,我可以发布一个例子,但是教程很好地展示了你需要做什么。

----更新----

很抱歉,我花了一些时间,和妻子一起去吃午饭。试试这个:

// Blank Document
XWPFDocument document = new XWPFDocument();

// Write the Document in file system
FileOutputStream out = new FileOutputStream(new File("create_table.docx"));

// Create table
XWPFTable table = document.createTable();

// Table row
XWPFTableRow tableRow;

int rowCount = model.getRowCount() - 1;
int colCount = model.getColumnCount() - 1;

// Iterate through rows
for (int row = 0; row <= rowCount; row++) {
    tableRow = table.getRow(row);

    // Iterate through columns
    for (int col = 0; col <= colCount; col++) {
        tableRow.getCell(col).setText((String) model.getValueAt(row, col));

        // If more columns, add cell
        if (row == 0 && col < colCount) {
            tableRow.addNewTableCell();
        }
    }

    // If more rows, add row
    if (row < rowCount) {
        table.createRow();
    }
}

// Write to word document and close file.        
document.write(out);
out.close();
 类似资料:
  • 问题内容: 我想使用Python创建Word文档,但是,我想尽可能多地重用现有的文档创建代码。我目前正在使用XSLT生成HTML文件,并以编程方式将其转换为PDF文件。但是,我的客户现在要求以Word(.doc)格式提供同一文档。 到目前为止,我没有太多运气找到该问题的解决方案。有谁知道可以帮助解决此问题的开源库(或 gulp 专有解决方案)? 注意:所有可能的解决方案必须在Linux上运行。我相

  • 问题内容: 我想使用模板创建Word文档,替换一些变量(字段)并将其另存为新的Word文档。 我当时在考虑使用Apache POI,http://poi.apache.org/是否最适合此目的?您可以分享您的印象吗? 问题答案: 我以前使用过POI,并且肯定可以生成Word文档。但是魔鬼在细节上。 Word具有成千上万个功能:您可以将编号为#13的带有负缩进的列表放到另一个表(该表本身是项目符号列

  • 如何使用Apache POI创建Word文档?

  • 问题描述 (Problem Description) 如何使用Java创建空白word文档。 解决方案 (Solution) 以下是使用Java创建空白word文档的程序。 import java.io.File; import java.io.FileOutputStream; import org.apache.poi.xwpf.usermodel.XWPFDocument; public c

  • 问题内容: 我想从HTML页面创建Word文档。我打算在HTML页面上获取值,然后将这些值传递给文档模板。我已经使用JSOUP解析HTML页面的内容,并且在Java程序中获得了值。我现在想将这些值传递给Word文档模板。我想知道什么是可以用来创建文档模板并将值传递到模板以创建word文档的最佳技术。 谢谢。 问题答案: 我发现一些非常有趣和简单的东西。我们只需要为要创建的文档创建一个简单的.xml

  • 我读了一个word文档,想用Java写到另一个word文件中。我想要读取的文档中的内容的样式(字体、粗体、斜体、标题等)被写入,因为它是创建的新文档。我可以复制内容,但不能复制格式样式。 我得到的答案是复制相同格式的文本,但我无法复制数字。我执行了以下代码: