2014-12-06 21 views
1

我試圖寫入值存儲爲BigDecimals例如6789456123到一個xls文件,但我需要的xls文件顯示$ 6,789,456,123(作爲一種貨幣與0dp。我可以做這個格式的字符串,但這不是理想的)。我正在使用JExcelApi,我無法弄清楚如何做到這一點。任何幫助,將不勝感激。

感謝

+0

你需要創建一個自定義HTTP的NumberFormat://了JExcelApi .sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/NumberFormat.html – MihaiC 2014-12-06 22:29:36

回答

1

編輯:您可以將一個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

+0

據我所見,這不起作用,因爲我正在處理BigDecimals。 Number沒有(int,int,BigDecimal,WriteableCellFormat)的構造函數 – 2014-12-06 22:41:01

+0

@Rudder_NZ第三個參數是double。使用Bigdecimal方法的.doubleValue。所以在你的情況下傳遞:myBigDecimal.doubleValue()作爲第三參數 – MihaiC 2014-12-06 22:41:55

+0

工作表示感謝。出於某種原因,我認爲我已經嘗試過,並沒有奏效。 – 2014-12-06 22:45:22