公式单元格上的JExcelApi货币格式 – 文件错误
我正在用JExcelApi编写一个电子表格。
我有两个单元格,我想要应用货币格式。 从阅读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是要写的公式。 有一个AVERAGE()和一个SUM(),每个写入不同的单元格。 cells是一个ArrayList,它被写入电子表格中,如下所示:
for (WritableCell cell : cells) { ws.addCell(cell); }
(这里有一个try / catch块,但目前这是不重要的。)
编辑:ws是与WritableWorkbook.getSheet(string名称)获得的WritableSheet。 其他所有添加到ws写入没有问题:)
该文件写入成功,但是当我打开它时,我得到消息“文件错误。有些数字格式可能已经丢失。 上面格式化的单元格没有在Excel文件中格式化。
我正在使用Microsoft Excel 2003 SP3和JExcelApi 2.6.10。
任何人都可以帮我吗? 提前致谢 :)
你可以在这里find帮助: http : //www.docjar.com/html/api/jxl/demo/Write.java.html – 使用
WritableCellFormat cfi3 = new WritableCellFormat (NumberFormats.ACCOUNTING_FLOAT);
NumberFormat currencyFormat = new NumberFormat(NumberFormat.CURRENCY_DOLLAR + " ###,###.00", NumberFormat.COMPLEX_FORMAT); WritableCellFormat lCurrencyFormat = new WritableCellFormat(currencyFormat); Number currency = new Number(j, cnt, Double.parseDouble(lStr), lCurrencyFormat); lSheet.addCell(currency);
这一定会解决你的目的!
看来你的货币格式没有写出来。 您可以尝试先创build公式单元格,然后将其格式化为货币格式。 希望这可以帮到你。