我正在尝试使用以下代码使用 apache poi 在 excel 文件中创建一个命名范围。
private static void createNamedRangesForGeneratedValues(final XSSFWorkbook workBook, final String name, final String cellAreaRange) {
final Name cellRangeName = workBook.createName();
cellRangeName.setNameName(name);
final String reference = name + cellAreaRange; // "!A1:C5"; // area reference
cellRangeName.setRefersToFormula(reference);
但是在这一步: cellRangeName.setRefersToFormula(reference);
抛出以下异常。
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.ss.formula.FormulaParser.parse(Ljava/lang/String;Lorg/apache/poi/ss/formula/FormulaParsingWorkbook;II)[Lorg/apache/poi/hssf/record/formula/Ptg;
at org.apache.poi.xssf.usermodel.XSSFName.setRefersToFormula(XSSFName.java:195)
at test.java.ExcelSheetDropDownDataHandler.createNamedRangesForGeneratedValues(ExcelSheetDropDownDataHandler.java:186)
at test.java.ExcelSheetDropDownDataHandler.generateCountryData(ExcelSheetDropDownDataHandler.java:93)
at test.java.ExcelSheetDropDownDataHandler.generateData(ExcelSheetDropDownDataHandler.java:64)
at test.java.ExcelSheetDropDownDataHandler.createDataTab(ExcelSheetDropDownDataHandler.java:50)
at test.java.ExcelSheetDropDownDataHandler.main(ExcelSheetDropDownDataHandler.java:205)
有人可以建议,这可能是什么原因?