核心代码:
- XSSFCreationHelper createHelper = wb.getCreationHelper();
- XSSFCellStyle dateStyle = wb.createCellStyle();
- dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyyy/m/d"));
- CellStyle stringStyle = wb.createCellStyle();
- // 设置为文本格式, 防止身份证号等长数字变成科学计数法
- DataFormat format = wb.createDataFormat();
- stringStyle.setDataFormat(format.getFormat("@"));
- HSSFWorkbook demoWorkBook = new HSSFWorkbook();
- HSSFSheet demoSheet = demoWorkBook.createSheet("The World's 500 Enterprises");
- HSSFCell cell = demoSheet.createRow(0).createCell(0);
1. 设置单元格为文本格式
- HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
- HSSFDataFormat format = demoWorkBook.createDataFormat();
- cellStyle2.setDataFormat(format.getFormat("@"));
- cell.setCellStyle(cellStyle2);
第一种: 日期格式
- 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);
第三种: 货币格式
- 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);
来源: http://www.bubuko.com/infodetail-3337523.html