Apache POI APIを使用してExcelファイルから値を取得しています。 数式を含むセルを除いてすべてがうまくいっています。実際には、cell.getStringCellValue()
はセルの値ではなく、セルで使用されている式を返しています。Java POI:計算式を計算するのではなく、Excelセルの値を読み取る方法は?
私はevaluateFormulaCell()
メソッドを使用しようとしましたが、それは働いていない私はGETPIVOTDATA Excelの数式を使用していますので、この式は、APIに実装されていません:式細胞について
Exception in thread "main" org.apache.poi.ss.formula.eval.NotImplementedException: Error evaluating cell Landscape!K11
at org.apache.poi.ss.formula.WorkbookEvaluator.addExceptionInfo(WorkbookEvaluator.java:321)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:288)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluate(WorkbookEvaluator.java:221)
at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCellValue(HSSFFormulaEvaluator.java:320)
at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateFormulaCell(HSSFFormulaEvaluator.java:213)
at fromExcelToJava.ExcelSheetReader.unAutreTest(ExcelSheetReader.java:193)
at fromExcelToJava.ExcelSheetReader.main(ExcelSheetReader.java:224)
Caused by: org.apache.poi.ss.formula.eval.NotImplementedException: GETPIVOTDATA
at org.apache.poi.hssf.record.formula.functions.NotImplementedFunction.evaluate(NotImplementedFunction.java:42)
ええ、それは動作します。 。well done :) – Aminoss
うまくいくならば、答えを「受け入れる」ことを忘れないでください。 – Wivani
キャッシュされた日付はどうですか?日付セルにはCell.CELL_TYPE_NUMERICというフラグが付けられます。 –