在做导出 excel 时,需要对数据做出各种格式化,以下是一些常见的转化方法
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);
**The following is a list of built-in formats provided is POI 3.0:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于