尝试读取 .xlsx excel 文件时出现 java.lang.NoSuchMethodError

标签 java reactjs spring-boot file-upload apache-poi

你好,我尝试使用 Spring Boot 读取 XLSX 文件,但出现错误 我的 Controller :

@PostMapping("/upload")
public ResponseEntity<?> addRfp  (@RequestParam("file") MultipartFile file) throws IOException, InvalidFormatException  {
    ZipSecureFile.setMinInflateRatio(0);  
    InputStream inputStream = file.getInputStream();
    String originalName = file.getOriginalFilename();
    String name = file.getName();
    String contentType = file.getContentType();
    long size = file.getSize();
    FileInputStream fis =  (FileInputStream) file.getInputStream();
    XSSFWorkbook myWorkBook = new XSSFWorkbook (fis);
    XSSFSheet mySheet = myWorkBook.getSheetAt(0);
    Iterator<Row> rowIterator = mySheet.iterator();
    while (rowIterator.hasNext()) {
        Row row = rowIterator.next();
        Iterator<Cell> cellIterator = row.cellIterator();
        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            switch (cell.getCellType())
            { case STRING:
                System.out.print(cell.getStringCellValue() + "\t"); break; 
                case NUMERIC: System.out.print(cell.getNumericCellValue() + "\t"); break;
                case BOOLEAN: System.out.print(cell.getBooleanCellValue() + "\t"); break; 
                default : } } 
        System.out.println(""); }
return null;

}

错误是:

java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    at org.apache.poi.ooxml.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:43) ~[poi-ooxml-4.1.2.jar:4.1.2]
    at org.apache.poi.xssf.model.SharedStringsTable.readFrom(SharedStringsTable.java:123) ~[poi-ooxml-4.1.2.jar:4.1.2]
    at org.apache.poi.xssf.model.SharedStringsTable.<init>(SharedStringsTable.java:111) ~[poi-ooxml-4.1.2.jar:4.1.2]
    at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:61) ~[poi-ooxml-4.1.2.jar:4.1.2]
    at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:684) ~[poi-ooxml-4.1.2.jar:4.1.2]
    at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) ~[poi-ooxml-4.1.2.jar:4.1.2]

请问我应该怎么做才能解决这个问题,我现在已经被阻止了 有人可以帮我解决这个问题吗?

谢谢,阿米

最佳答案

一切看起来都很好,请尝试更新项目,因为库似乎未正确加载。右键单击项目并进行 Maven 更新即可转到 Maven。选中永久更新框,它应该可以工作

关于尝试读取 .xlsx excel 文件时出现 java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61081630/

相关文章:

java - 库重载的方法不用重新编译就可以使用吗?

java - 将结果数组从类返回到其他类 java

javascript - 响应美化 URL

持久化重复行时的 Javax 唯一约束行为

datetime - spring boot Joda DateTime 序列化

java - 解密 Saml token 时出错

java - Log4j-2.6.2 基本配置器未配置日志记录级别

node.js - ReactJS - 项目不会立即附加,仅刷新页面

javascript - 在 react 应用程序中简单连接到 mongodb

java - 从客户端(NodeJS)向服务器(Spring Boot)发送请求时省略字符