gpt4 book ai didi

java - 打开由附加到电子邮件的 HSSFWorkbook 生成的 Excel 工作表时,Excel 崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:18:25 24 4
gpt4 key购买 nike

我使用 HSSFWorkbook 生成了一个 Excel 电子表格,然后实现了自定义 javax.activation.DataSource 以将该电子表格附加到电子邮件。但是,在 Excel 中打开电子表格后,它会崩溃。 Excel 可以恢复部分数据,但会丢失大部分格式。

最佳答案

在 DataSource 实现中返回 InputStream 时,请确保您没有使用 HSSWorkbook.getBytes(),因为这只会返回电子表格的特定部分(不能单独使用),而不是整个文件。使用 write() 方法代替 ByteArrayOuputStream。例如:

public InputStream getInputStream() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
return new ByteArrayInputStream(baos.toByteArray());
}

请注意电子表格的大小,因为这是在内存中发生的。考虑改为存储电子表格并使用常规 FileDataSource 附加它。

HSSFWorkbook.getBytes()

关于java - 打开由附加到电子邮件的 HSSFWorkbook 生成的 Excel 工作表时,Excel 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com