[alibaba/easyexcel]请问下使用easyexcel1.0.0版本之后,AbstractExcelView子类调用父类方法NoSuchMethodError原因

2024-06-20 950 views
9

使用子类继承AbstractExcelView,在重写的buildExcelDocument方法中调用父类AbstractExcelView中的getCell抛出如下异常(编译正常): 调用方式如下:this.setText(this.getCell(sheet, rowIndex, j++), vo.getUnifiedCode()); Caused by: java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFRow.getCell(S)Lorg/apache/poi/hssf/usermodel/HSSFCell; 很奇怪为什么会在子类中调用不了父类的getCell方法,同样父类中的setType方法即可正常调用; 目前解决方式是在子类中重写getCell方法,但导致该问题原因不明白,希望可以解答下;谢谢!

回答

4

Dubug的时候发现是父类AbstractExcelView中的:HSSFCell cell = sheetRow.getCell((short) col);这行代码直接报错; 类:org.springframework.web.servlet.view.document.AbstractExcelView 方法: protected HSSFCell getCell(HSSFSheet sheet, int row, int col) { HSSFRow sheetRow = sheet.getRow(row); if (sheetRow == null) { sheetRow = sheet.createRow(row); } HSSFCell cell = sheetRow.getCell((short) col); if (cell == null) { cell = sheetRow.createCell((short) col); } return cell; }