2014-12-02 14 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

相关问题