apache poi解决xlsx缺失sharedStrings.xml问题
时间: 2023-11-28 13:50:17 浏览: 166
poi做核心的xlsx文件解析优化,效率解决
在使用Apache POI读取xlsx文件时,如果缺少sharedStrings.xml文件,可以尝试以下方法解决:
1. 手动将缺失的sharedStrings.xml文件添加到zip包中。
2. 尝试使用XSSFReader来读取xlsx文件,可以跳过sharedStrings.xml的解析,提高性能。示例代码如下:
```java
OPCPackage pkg = OPCPackage.open(file);
XSSFReader reader = new XSSFReader(pkg);
SharedStringsTable sst = reader.getSharedStringsTable();
XMLReader parser =
XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
ContentHandler handler = new MySheetHandler();
parser.setContentHandler(handler);
XSSFReader.SheetIterator sheets = (XSSFReader.SheetIterator) reader.getSheetsData();
while (sheets.hasNext()) {
InputStream sheet = sheets.next();
InputSource sheetSource = new InputSource(sheet);
parser.parse(sheetSource);
sheet.close();
}
```
其中,MySheetHandler是自定义的SAX解析器,用于处理每个sheet的数据。
阅读全文