我正在完成一项简单的任务:读取Excel文件并将其转换为对象。虽然,我在阅读Excel文件(.xls)时遇到问题 我将从外部系统接收它(也许他们自动生成它)。如果我打开它只是做一个简单的保存(有或没有改变Excel文件中的任何内容),我的解析器逻辑工作正常。但是,如果我不编辑并保存文件并尝试按原样解析原始文件,则在加载.xls文件时,此行会出现异常:
HSSFWorkbook xlsWorkbook = new HSSFWorkbook(inputDocument);
以下是例外情况:
java.lang.RuntimeException: Unexpected record type (org.apache.poi.hssf.record.HyperlinkRecord)
at org.apache.poi.hssf.record.aggregates.RowRecordsAggregate.<init>(RowRecordsAggregate.java:97)
at org.apache.poi.hssf.model.InternalSheet.<init>(InternalSheet.java:217)
at org.apache.poi.hssf.model.InternalSheet.createSheet(InternalSheet.java:156)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:337)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:289)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:224)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:382)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:364)
我搜索了可能的解决方案;但从来没有找到任何!有人能引导我解决它吗?
PS:我甚至尝试使用最新版本的POI(3.12)加载.xls但没有成功!
由于
答案 0 :(得分:1)
https://bz.apache.org/bugzilla/show_bug.cgi?id=52447处的讨论表明,这可能是由Microsoft Excel似乎正常处理的非标准Excel文件引起的,但Apache POI可能会阻塞。您可以尝试以下事项: