java使用poi解析或處理excel的時候,如何防止數字變成科學計數法的形式


導入時數字的科學計數法轉string處理: 

Java代碼  

DecimalFormat df = new DecimalFormat("0");    
String whatYourWant = df.format(cell.getNumericCellValue());  

POI設置EXCEL單元格格式為文本、小數、百分比、貨幣、日期、科學計數法和中文大寫

再讀本篇文章之前,請先看我的前一篇文章,前一篇文章中有重點講到POI設置EXCEL單元格格式為文本格式,剩下的設置小數、百分比、貨幣、日期、科學計數法和中文大寫這些將在下面一一寫出

以下將要介紹的每一種都會用到這三行中的變量

 

            HSSFWorkbook demoWorkBook = new HSSFWorkbook();   

            HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");   

            HSSFCell cell = demoSheet.createRow(0).createCell(0);

 

第一種:日期格式

 

            cell.setCellValue(new Date(2008,5,5));

            //set date format

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));

            cell.setCellStyle(cellStyle);

 

第二種:保留兩位小數格式

            cell.setCellValue(1.2);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));

            cell.setCellStyle(cellStyle);

 

這里與上面有所不同,用的是HSSFDataFormat.getBuiltinFormat()方法,之所以用這個,是因為0.00是Excel內嵌的格式,完整的Excel內嵌格式列表大家可以看這個窗口中的自定義列表:

 

 這里就不一一列出了

 

第三種:貨幣格式

 

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("¥#,##0"));

            cell.setCellStyle(cellStyle);

 

第四種:百分比格式

 

            cell.setCellValue(20);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00%"));

            cell.setCellStyle(cellStyle);

  此種情況跟第二種一樣

 

第五種:中文大寫格式

 

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            HSSFDataFormat format= demoWorkBook.createDataFormat();

            cellStyle.setDataFormat(format.getFormat("[DbNum2][$-804]0"));

            cell.setCellStyle(cellStyle);

 

第六種:科學計數法格式

 

            cell.setCellValue(20000);

            HSSFCellStyle cellStyle = demoWorkBook.createCellStyle();

            cellStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat("0.00E+00"));

            cell.setCellStyle(cellStyle);

此種情況也與第二種情況一樣

 
————————————————
版權聲明:本文為CSDN博主「樹上的瘋子^」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xingxiupaioxue/article/details/54411824


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM