[alibaba/easyexcel]文件上传了为什么读不出来?xls可以读取内容,xlsx invoke都进不了,求解

2024-06-24 913 views
4

public int bulkInsert(MultipartFile file) { InputStream inputStream = null; try { inputStream = file.getInputStream(); String name = file.getOriginalFilename().toLowerCase(); ExcelReader reader = new ExcelReader(inputStream, name.endsWith(".xls") ? ExcelTypeEnum.XLS : ExcelTypeEnum.XLSX, null, new AnalysisEventListener<List>() { @Override public void invoke(List object, AnalysisContext context) { System.out.println( "当前sheet:" + context.getCurrentSheet().getSheetNo() + " 当前行:" + context.getCurrentRowNum()

  • " data:" + object+"\n"); }

                    @Override
                    public void doAfterAllAnalysed(AnalysisContext context) {
    
                    }
                });
    
        reader.read();
    } catch (Exception e) {
        e.printStackTrace();
    
    } finally {
        try {
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return 0;

    }

回答

9

我也遇到这个问题,xls可以,xlsx解析不了

1

me too。。。

6

我也是这样 是不是版本问题?

3

@jipengfei-jpf 麻烦看下啊 多谢~

6

我刚刚看了一下别的issues找到了一个答案,可能是一个类的原因apache的xerces的org.apache.xerces.jaxp.SAXParserFactoryImpl,和java自带的那个冲突了

4

那么请问项目中必须引用apache的xerces,如何解决这个冲突呢?

3

目前没有很好办法,看下是不是可以替换成java自带的