我怎么能转换POI HSSFWorkbook为字节?(How can I convert POI H

2019-06-23 16:52发布

调用简单toBytes()不会产生字节,但EXEL抛出警告。

丢失的文档的信息

周围的Googling给了我这个链接 ,并在寻找的Javadoc的工作表和POI HOW-TO说,类似的事情。 基本上,我不能让Bytes而不会丢失一些信息,并应使用write方法来代替。

虽然写不工作罚款我真的需要在发送的字节数。 有没有什么办法可以做到这一点? 这是获得个字节出来得到任何警告。

Answer 1:

作为该邮件列表发帖称

调用HSSFWorkbook.getBytes()不返回所有必要的数据来重新构建一个完整的Excel文件。

您可以使用write方法,用ByteArrayOutputStream得到的字节数组。

ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
    workbook.write(bos);
} finally {
    bos.close();
}
byte[] bytes = bos.toByteArray();

(该close是不是真的需要呼吁一个ByteArrayOutputStream ,但恕我直言这是好事风格的情况下,其后又改为别样流反正包括。)



Answer 2:

怎么样:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
byte[] xls = baos.toByteArray();

为了得到一个完整的Excel文件时,你必须调用write(OutputStream中)方法。 如果您希望字节,只给一个ByteArrayOutputStream



文章来源: How can I convert POI HSSFWorkbook to bytes?