0
セルから文字列として値を読み取ろうとしています(Excelで見られるように)。私はApache POI 3.15を使ってxlsx(XSSFWorkbook
)から読み込みます。Apache POIでのフォーミュラセルの結果の読み込み3.15
私の目標は、セルに整数が含まれている場合は、小数点と末尾のゼロを省略します。これはCellType.NUMERIC
のために働く:
val dataFormatter = new DataFormatter(true) // set emulateCsv to true
val stringValue = dataFormatter.formatCellValue(cell)
私はCellType.FORMULA
セルに同じコードを使用している場合(例えば、別の「整数」のセルを参照するセルが)、それはちょうど私の代わりに、その計算値の文字列として式を与えます。
Excelディスプレイに表示されているフォーミュラセルの値を取得するにはどうすればよいですか?
おかげ電池用
CellValue
を取得し、詳細についてはhttp://poi.apache.org/spreadsheet/eval.htmlを参照してください。あなたのソリューションを適用すると、私は実際にはセルの値(私の場合は「2.0」)を取得しますが、Excel(「2」)では表示されません。 'dataFormatter.formatCellValue(evaluator.evaluateInCell(cell)) ' –はい、フォーマットは評価者によって行われないため、2番目のステップでは、他のフォーマットと同じ方法で行いますdataFormatterを使用してセルの内容を取得します。 – centic