【发布时间】:2013-08-21 16:28:53
【问题描述】:
5i 需要将 HSSFWorkbook(Apache 的 POI)转换为 ByteArray,然后再将 ByteArray 转换回 HSSFWorkbook。下面的 TestCase 说明了我的问题:
@Test
public void testXLSExportImport(){
try {
InputStream is = new FileInputStream(FILEPATH);
HSSFWorkbook wb = new HSSFWorkbook(is);
byte[] exported = wb.getBytes();
HSSFWorkbook wb2 = new HSSFWorkbook(new ByteArrayInputStream(exported));
//in the line above the exception is thrown
} catch (Exception e) {
assertTrue(false);
}
}
测试用例失败,异常:java.io.IOException: Invalid header signature;读取 0x0005060000100809,预期 0xE11AB1A1E011CFD0
(我使用的是 Apaches POI 3.5-beta3)
我希望有人可以帮助我...我怎样才能让它工作?!
【问题讨论】:
-
你为什么使用这么旧的 POI 版本?虽然我不确定,但我敢打赌更新至少会有所帮助。最新的稳定版本是 3.9。
-
因为我也使用旧的 primefaces 版本:(...更新它会做很多工作,现在无法完成
标签: java stream bytearray apache-poi