2012-10-09 47 views
0

從java類中,我將值54666700導出爲.xlsx文檔。我想將其顯示爲54,666,700美元,但在文檔中應該將其存儲爲54666700,即,當我選擇該列時,應將數值選爲數字54666700.Java - 格式化數字並導出爲ex​​cel doc

就格式設置爲貨幣而言,我使用下面的碼。

Long newsValue = 54666700 
NumberFormat testFormat = NumberFormat.getCurrencyInstance(Locale.US); 
testFormat.setMinimumFractionDigits(0); 
String currency = testFormat.format(current); 
//which will be $54,666,700 

我發現這個庫Apache DataFormatter,但無法弄清楚如何獲得Cell對象那裏。

任何意見/技巧讚賞。

+0

哪個區域是你工作? – TheBlastOne

+0

您的意思是語言環境國家類型.. .. Locale.US –

回答

2

你可以使用HSSFDataFormat(POI 3.0),下面是使用例子:

try{ 
    FileOutputStream out = new FileOutputStream 
("dateFormat.xls"); 
    HSSFWorkbook hssfworkbook = new HSSFWorkbook(); 
    HSSFSheet sheet = hssfworkbook.createSheet 
("new sheet"); 
    HSSFCellStyle cs = hssfworkbook.createCellStyle(); 
    HSSFDataFormat df = hssfworkbook. 
createDataFormat(); 
    cs.setDataFormat(df.getFormat("#,##0.0")); 
    HSSFRow row = sheet.createRow((short)0); 
    HSSFCell cell = row.createCell((short)0); 
    cell.setCellValue(11111.1); 
    cell.setCellStyle(cs); 
    hssfworkbook.write(out); 
    out.close(); 
}catch(Exception e){} 
} 
+0

在工作簿中,值將是$ 11,111,但如果我們在功能欄中看到它將是1111.1? –