Jak*_*ake 19 java excel apache-poi
基本问题:如何加载Excel模板以与POI一起使用,然后将其保存到XLS文件中?
编辑:
答案是:
FileInputStream inputStream = new FileInputStream(new File(templateFile));
Workbook workbook = new HSSFWorkbook(inputStream);
Run Code Online (Sandbox Code Playgroud)
(只需将模板作为工作簿加载,然后将工作簿作为XLS文件写入其他位置.)
Bri*_*new 16
您是否尝试使用POI将其作为标准.xls加载,修改然后保存?
这是我用于在POI生成的.xls中插入宏的方法.我使用宏创建文件(诚然为.xls),然后将其加载到我的应用程序中,填充数据并保存为新创建的.xls.一切都很好.
PAT*_*ume 13
您可以直接加载将充当模板的.xls,并对其进行修改.
POIFSFileSystem fs = new POIFSFileSystem(
new FileInputStream("template.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs, true);
Run Code Online (Sandbox Code Playgroud)
将加载xls,保留其结构(包括宏).然后你可以修改它,
HSSFSheet sheet1 = wb.getSheet("Data");
...
Run Code Online (Sandbox Code Playgroud)
然后保存它.
FileOutputStream fileOut = new FileOutputStream("new.xls");
wb.write(fileOut);
fileOut.close();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
小智 5
您还可以使用内部模板作为资源.
InputStream fis = ChartSample.class.getResourceAsStream("/templates.xls");
HSSFWorkbook wb = new HSSFWorkbook(fis);
fis.close();
HSSFSheet sh = wb.getSheetAt(0);
//Here you go
Run Code Online (Sandbox Code Playgroud)
除此之外:
out = new FileOutputStream("./new.xls");
wb.write(out);
out.close();
Run Code Online (Sandbox Code Playgroud)