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

时间:2015-07-20 15:50:37

标签: java excel apache-poi

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

我们需要创建复制此模板格式的XLSX文件;用预先填充的数据填写。但是,我找不到很多关于如何使用Java中的填充表单控件创建XLSX文件的信息。我能找到的唯一帖子是here

我们目前使用Apache POI库,但我对可能更容易实现这一目标的备用库开放,如果这是唯一的方法,我甚至可以使用混合Java / VBA方法。感谢任何帮助或见解,提前感谢!

1 个答案:

答案 0 :(得分:1)

您可以创建包含所需的所有表单控件的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);
}