我試圖寫入值存儲爲BigDecimals例如6789456123到一個xls文件,但我需要的xls文件顯示$ 6,789,456,123(作爲一種貨幣與0dp。我可以做這個格式的字符串,但這不是理想的)。我正在使用JExcelApi,我無法弄清楚如何做到這一點。任何幫助,將不勝感激。
感謝
我試圖寫入值存儲爲BigDecimals例如6789456123到一個xls文件,但我需要的xls文件顯示$ 6,789,456,123(作爲一種貨幣與0dp。我可以做這個格式的字符串,但這不是理想的)。我正在使用JExcelApi,我無法弄清楚如何做到這一點。任何幫助,將不勝感激。
感謝
編輯:您可以將一個BigDecimal與方法.doubleValue()
翻番。更改示例以滿足您的需求。
嘗試創建一個自定義的NumberFormat這樣的:
NumberFormat dollarCurrency = new NumberFormat(NumberFormat.CURRENCY_DOLLAR + " ###,###,###.00", NumberFormat.COMPLEX_FORMAT);
WritableCellFormat dollarFormat = new WritableCellFormat(dollarCurrency);
n = new Number(column, row, myBigDecimal.doubleValue(), dollarFormat);
s.addCell(n);
您還可以閱讀了許多其他例子在這裏:jxl demo
據我所見,這不起作用,因爲我正在處理BigDecimals。 Number沒有(int,int,BigDecimal,WriteableCellFormat)的構造函數 – 2014-12-06 22:41:01
@Rudder_NZ第三個參數是double。使用Bigdecimal方法的.doubleValue。所以在你的情況下傳遞:myBigDecimal.doubleValue()作爲第三參數 – MihaiC 2014-12-06 22:41:55
工作表示感謝。出於某種原因,我認爲我已經嘗試過,並沒有奏效。 – 2014-12-06 22:45:22
你需要創建一個自定義HTTP的NumberFormat://了JExcelApi .sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/NumberFormat.html – MihaiC 2014-12-06 22:29:36