我使用Apache POI编写代码,使用hssf从.xls工作表中读取数据。我希望程序能够使用org.apache.poi.ss.usermodel来读取.xlsx工作表。这是代码: (_fileName传递给函数)
java.io.FileInputStream fs = new java.io.FileInputStream(_fileName) 工作簿= WorkbookFactory.create(fs);
它会为.xlsx文件抛出以下异常:InavlidFormatException - 无法读取内容类型部分! 我在Visual Studio中执行此操作,因此输出窗口显示“poi-ooxml-3.7-20101029.dll”中发生的类型'org.apache.poi.openxml4j.exceptions.InvalidFormatException'的第一次机会异常。
对于.xls文件,输出窗口显示“IKVM.OpenJDK.Core.dll中出现类型'java.io.IOException'的第一次机会异常”
如果有人可以帮我解决这个问题,那将会很棒。自昨天以来一直在努力。
非常感谢你! 达雅
答案 0 :(得分:0)
错误消息表明您的.xlsx文件不是有效文件。我会仔细检查你是否正在传递正确的文件,并且它真的是一个Excel(而不是别的 - 在你的.xlsx案例中,我怀疑你只有一个普通的zip文件)