使用apach poi导出excel文件,样式不生效?(已解决)

199 阅读1分钟

在导出文件时,我错误的调用方式如下:

HSSFWorkbook wb = ExcelExportUtil.getHSSFWorkbook("一览表", uiry);

// 输出的文件流保存到本地文件
File file = new File(baseFilePath);
if (!file.exists()) {
    file.mkdirs();
}
File tempFile = new File(baseFilePath);
OutputStream os = new FileOutputStream(tempFile);
//不同处
os.write(wb.getBytes());
wb.close();
os.close();

正确是调用方式:

HSSFWorkbook wb = ExcelExportUtil.getHSSFWorkbook("一览表", uiry);

// 输出的文件流保存到本地文件
File file = new File(baseFilePath);
if (!file.exists()) {
    file.mkdirs();
}
File tempFile = new File(baseFilePath);
OutputStream os = new FileOutputStream(tempFile);
//不同处
 wb.write(os)
wb.close();
os.close();

猜测:poi导出文件时在调用HSSFWorkbook的write方法时才会把格式相关数据转换为二进制写入附件。