标头签名无效;IOException with Apache POI on excel document
2022-09-03 14:53:04
我得到:
java.io.IOException: 无效的标头签名;读取0x000201060000FFFE,预期0xE11AB1A1E011CFD0
尝试使用 apache POI HPSF 向 Excel 文档添加一些自定义属性时。
我完全确定该文件是Excel OLE2(不是HTML,XML或其他Excel不抱怨的东西)。
这是我代码的相关部分:
try {
final POIFSFileSystem poifs = new POIFSFileSystem(event.getStream());
final DirectoryEntry dir = poifs.getRoot();
final DocumentEntry dsiEntry = (DocumentEntry)
dir.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME);
final DocumentInputStream dis = new DocumentInputStream(dsiEntry);
final PropertySet props = new PropertySet(dis);
dis.close();
dsi = new DocumentSummaryInformation(props);
}
catch (Exception ex) {
throw new RuntimeException
("Cannot create POI SummaryInformation for event: " + event +
", path:" + event.getPath() +
", name:" + event.getPath() +
", cause:" + ex);
}
我在尝试使用单词和PowerPoint文件(也是OLE2)时收到相同的错误。
我完全没有想法,所以任何帮助/指针都非常感谢:)