2014-12-02 74 views
0

我們有一個現有的應用程序,在該應用程序中,我們讀取一個文本文件並使用java寫入excel。文本文件將具有第一行作爲標題和後續行作爲從數據庫中獲取的記錄。 現在寫入excel時,所有列都被轉換爲文本格式。我們想將一列(考慮Z列)轉換爲數字。將文本文件寫入Excel中的文本文件轉換爲數字格式

String [] column = line.split("\\|~"); 
    for (int i = 0; i < column.length; i++) { 
        Cell tmpCell = row.createCell(i); 

        tmpCell.setCellValue(new HSSFRichTextString(column[i].trim())); 

       } 

我是java新手,需要您的幫助來解決這個問題。

感謝 Santhosh

回答

2

你可以這樣寫

cell.setCellValue(12345.00000) 

到細胞但這本身並不能在情況下,你不想截斷是不夠的。使用樣式和dataformats,可以避免截斷。例如。

CellStyle cellStyle = wb.createCellStyle(); 
DataFormat df = wb.createDataFormat(); 
cellStyle.setDataFormat(df.getFormat("0.0")); //you can adjust it as per your requirments 
cell.setCellStyle(cellStyle); 
+0

https://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Cell.html – RW4 2014-12-02 20:42:31

+1

我剛添加cell.setCellType(Cell.CELL_TYPE_NUMERIC);它對我很好。 – Santhosha 2014-12-03 23:28:46

+0

@Santhosha setCellType已棄用。你有其他解決方案嗎? – mannedear 2018-01-18 13:59:41