在用apache poi的jar包操作excel时有个问题需要注意:HSSFWorkbook xs = new HSSFWorkbook();
xs.toBytes()或xs.getBytes()不能得到excel的完整内容,导致生成的excel会提示错误
相关链接如下:
Invoking HSSFWorkbook.getBytes() does not return all of the data necessary to re-
construct a complete Excel file. An excel file itself contains more than the
raw contents of the file. The 'getBytes()' method apparently seems to miss
other excell file meta data, including the file summary information, etc.
Instead, in order to write the file out as an attachment, or stream, you must
invoke the 'write()' method on the workbook itself, passing in a OutputSteam.
因此,要得到excel的完整内容必须调用HSSFWorkbook的write方法。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
xs.write(bos);
} finally {
bos.close();
}