如何将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