如何将POI HSSFWorkbook转换为字节?

调用Simple

toBytes()会产生字节,但是exel会抛出警告。

遗失文件资料

仔细搜索一下,给了我这个链接,并查看了工作表的Javadocs和POI

HOW-TO的类似说法。基本上,我不能不Bytes丢失一些信息,而应该使用该write方法。

虽然写入确实可以正常工作,但我确实需要将字节发送过来。有什么办法可以做到吗?那就是得到字节而没有任何警告。

回答:

正如邮件列表中所说的

调用HSSFWorkbook.getBytes()不会返回重建一个完整的Excel文件所需的所有数据。

您可以将write方法与一起使用ByteArrayOutputStream以获取字节数组。

ByteArrayOutputStream bos = new ByteArrayOutputStream();

try {

workbook.write(bos);

} finally {

bos.close();

}

byte[] bytes = bos.toByteArray();

(对于而言,close实际上并不需要该调用ByteArrayOutputStream,但是,恕我直言,无论如何将其包括在内都是很好的样式,以防以后将其更改为其他类型的流。)

以上是 如何将POI HSSFWorkbook转换为字节? 的全部内容, 来源链接: utcz.com/qa/432921.html

回到顶部