我从.xlsx文件读取数据时遇到问题,因为catch(InvalidFormatException e)返回异常的错误,例如“ InvalidFormatException的Unreachable catch块。永远不会从try语句主体中抛出此异常”
我使用过openxml4j导入,我认为这是必要的
public static Object[][] getTestData(String sheetname) {
FileInputStream file = null;
try {
file = new FileInputStream(TEST_DATA_SHEET_PATH);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
book = WorkbookFactory.create(file);
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
预期InvalidFormatException应该没有错误,并且.xlsx文件中的数据应该为红色
最佳答案
try {
book = WorkbookFactory.create(file);
} catch (InvalidFormatException e) {
e.printStackTrace();
}
该try块中的代码不会引发
InvalidFormatException
。这就是为什么您收到错误消息的原因。也许您的意图是在其他地方使用该catch块。
从文档中:
https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/WorkbookFactory.html#create-java.io.File-
这是方法签名:
public static Workbook create(java.io.File file)
throws java.io.IOException,
EncryptedDocumentException
如您在上面看到的,此方法不会引发
InvalidFormatException
。