JExcelApiでスプレッドシートを書いています。
通貨の書式設定を適用したい 2 つのセルがあります。API を読んで、jxl.write.NumberFormat を発見しました。私のアプリケーションでは、次のように書いています。
NumberFormat currency = new NumberFormat(NumberFormat.CURRENCY_DOLLAR);
WritableCellFormat currencyFormat = new WritableCellFormat(currency);
cells.add(new Formula(col, row, myFormula, currencyFormat));
col と row は、書き込む列と行です。myFormula は、記述される数式です。1 つの AVERAGE() と 1 つの SUM() があり、それぞれが異なるセルに書き込まれます。cells は、次のようにスプレッドシートに書き込まれる ArrayList です。
for (WritableCell cell : cells) {
ws.addCell(cell);
}
(その周りに try/catch ブロックがありますが、現時点では無関係です。)
編集: ws は WritableWorkbook.getSheet(String name) で取得した WritableSheet です。ws に追加された他のすべてのものは問題なく書かれています:)
ファイルは正常に書き込まれますが、開くと「ファイル エラーです。一部の数値形式が失われた可能性があります」というメッセージが表示されます。上記で書式設定したセルは、Excel ファイルでは書式設定されていません。
Microsoft Excel 2003 SP3 と JExcelApi 2.6.10 を使用しています。
誰でも私を助けてもらえますか?前もって感謝します :)