将 Excel 模板与 Apache POI 结合使用

2022-09-02 09:07:09

基本问题:如何加载用于 POI 的 Excel 模板,然后将其保存到 XLS 文件中?

编辑:

答案是:

FileInputStream inputStream = new FileInputStream(new File(templateFile));
Workbook workbook = new HSSFWorkbook(inputStream);

(只需将模板作为工作簿加载,然后将工作簿作为 XLS 文件写入其他位置即可。


答案 1

您是否尝试过将其作为标准.xls使用POI加载,对其进行修改然后保存?

这是我用于在 POI 生成的.xls中插入宏的方法。我使用宏创建文件(诚然,它是.xls),然后将其加载到我的应用程序中,填充数据并另存为新创建的.xls。一切都很好。


答案 2

您可以直接加载将充当模板的.xls,并对其进行修改。

POIFSFileSystem fs = new POIFSFileSystem(
                new FileInputStream("template.xls"));
HSSFWorkbook wb = new  HSSFWorkbook(fs, true);

将加载 xls,保留其结构(包括宏)。然后,您可以对其进行修改,

HSSFSheet sheet1 = wb.getSheet("Data");
...

,然后保存它。

FileOutputStream fileOut = new FileOutputStream("new.xls"); 
wb.write(fileOut);
fileOut.close();

希望这有帮助。


推荐