InvalidFormatException

InvalidFormatException

我从.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

09-04 22:50