正如邮件列表中所说的那样:
调用
HSSFWorkbook.getBytes()
不会返回重建完整 Excel 文件所需的所有数据。
您可以使用 ByteArrayOutputStream
的写入方法来获取字节数组。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
workbook.write(bos);
} finally {
bos.close();
}
byte[] bytes = bos.toByteArray();
(对于ByteArrayOutputStream
,实际上不需要进行close
调用,但是我个人认为最好还是包含这个调用,以防它稍后更改为其他类型的流。)
这怎么样:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
byte[] xls = baos.toByteArray();
为了获取完整的Excel文件,您必须调用write(OutputStream)方法。如果您想从中获取字节,请使用ByteArrayOutputStream。
为了获取完整的Excel文件,您必须调用write(OutputStream)方法。如果您想从中获取字节,请使用ByteArrayOutputStream