基本问题:如何加载Excel模板以与POI一起使用,然后将其保存到XLS文件中?
编辑:
答案是:
FileInputStream inputStream = new FileInputStream(new File(templateFile)); Workbook workbook = new HSSFWorkbook(inputStream);
(只需将模板作为工作簿加载,然后将工作簿作为XLS文件写入其他位置.)
您是否尝试使用POI将其作为标准.xls加载,修改然后保存?
这是我用于在POI生成的.xls中插入宏的方法.我使用宏创建文件(诚然为.xls),然后将其加载到我的应用程序中,填充数据并保存为新创建的.xls.一切都很好.
您可以直接加载将充当模板的.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();
希望这可以帮助.
您还可以使用内部模板作为资源.
InputStream fis = ChartSample.class.getResourceAsStream("/templates.xls"); HSSFWorkbook wb = new HSSFWorkbook(fis); fis.close(); HSSFSheet sh = wb.getSheetAt(0); //Here you go
除此之外:
out = new FileOutputStream("./new.xls"); wb.write(out); out.close();