如何使用 Java 创建带有表单控件的 Excel 文件?

How do I create Excel files with form controls using Java?

我有一个 Java 应用程序,它使用 Apache POI 库来构建 XLSX 文件。我有一个客户有一个带有表单控件的 XLSX 模板(主要是列表框和组合框;不是 ActiveX,只是常规表单控件)。

我们需要创建复制此模板格式的 XLSX 文件;用预先填充的数据填充它。但是,我无法从 Java 中找到很多关于如何使用填充的表单控件创建 XLSX 文件的信息。我能在这里找到的唯一 post 是 here.

我们目前使用 Apache POI 库,但我愿意接受可能能够更轻松地完成此任务的替代库,如果这是唯一的方法,甚至可以使用 Java / VBA 混合方法.感谢任何帮助或见解,提前致谢!

您可以创建一个 Excel 文件模板,其中包含您需要的所有表单控件,并将实际的 Excel 文件存储在您的应用程序 jar 文件中。然后在您的应用程序中,您可以使用 POI 打开模板文件,用您需要的数据填充模板,并将新文件写入本地文件系统。例如:

outFile = new File("/myfiles", "table1.xlsx");
try (FileOutputStream fileOut = new FileOutputStream(outFile)) {
    InputStream is = getClass().getResourceAsStream("/com/myapp/templates/template1.xlsx");
    Workbook wb = new XSSFWorkbook(is);
    Sheet sheet = wb.getSheetAt(0);
    // Now populate the table here as your application requires
    wb.write(fileOut);
}