xls ドキュメントを生成するために Jxl (v2.6.10) ライブラリを使用します。書式設定された DateTime セルが必要です。セルにフォーマットを使用しない場合、すべてがうまく機能します。
WritableCell wc = new jxl.write.DateTime(5, 5, new java.util.Date());
sheet.addCell(wc);
ドキュメントでは、セルに日付形式があり、「8/16/2012」と表示されます。しかし、私が追加すると:
WritableCell wc = new jxl.write.DateTime(5, 5, new java.util.Date());
wc.setCellFormat(new WritableCellFormat());
sheet.addCell(wc);
その後、「41137.4459694444」のみが表示されます(LibreOfficeを使用しましたが、Googleドキュメントでも同じです)。スプレッドシートでセルの書式設定を手動で変更すると、数値が期待どおり 2012 年 8 月 16 日に変わります。
setCellFormat は wc.getCellType() を上書きすると思いましたが、そうではありません。
jxl.write.DateTime wc = new jxl.write.DateTime(5, 5, new java.util.Date());
System.out.println(wc.getType());
wc.setCellFormat(new WritableCellFormat());
System.out.println(wc.getType());
wc.setDate(new java.util.Date());
System.out.println(wc.getType());
収量:
Date
Date
Date
今、私は混乱しているので、ここで何が起こっているのか知りたい.