POI設定EXCEL單元格格式為文字、小數、百分比、貨幣、日期、科學計數法和中文大寫
阿新 • • 發佈:2019-01-02
第一種:日期格式 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); 此種情況也與第二種情況一樣