私はuser defined data formats
と思われるExcelを読んでいます。 例えば、データの形式は:"yyyy"E
、ちょうどE.POI-XSSF:ユーザー定義のデータ形式
今、このフォーマットは、内蔵、利用可能なフォーマットの一部ではない文字が続くyyyy
形式で日付を表示します。
したがって、これをのDataFormat
として設定しようとすると、動作しません。
最初にブックを読み、このブックからDataFormat
を作成します。
XSSFWorkbook wb = new XSSFWorkbook(excelToRead);
XSSFDataFormat df = wb.createDataFormat();
df
オブジェクトは現在(200まで印刷して確認)にもuser defined data formats
を持っています。 今、私はこのような新しいスタイルで、同じブックに新しいセルを作成しよう:
XSSFCell cellTemp = row.createCell(0);
XSSFCellStyle styleTemp = wb.createCellStyle();
styleTemp.setDataFormat(df.getFormat(cell.getCellStyle().getDataFormatString()));
cellTemp.setCellStyle(styleTemp);
cellTemp.setCellValue(cell.getStringCellValue());
System.out.print(formatter.formatCellValue(cellTemp)+" ");
しかし、フォーマッタは私に正しい文字列値を与えるものではありません、代わりにそれは私の基礎となる整数値を与えます(フォーマットが認識されない場合は、デフォルトであると思われます)。
XSSFでユーザー定義の形式を使用する正しい方法は何ですか?
UPDATE:あなたが達成しようとしているまさに私のために本当に明確ではないyyyy"E"
またはyyyy"A"
!ありがとうございました...他のユーザーフォーマットがなぜ機能していたのか分かりませんが、これは(yyyy "E")1つではありませんでしたか? – gaurav5430