1

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

今、私は混乱しているので、ここで何が起こっているのか知りたい.

4

0 に答える 0