我是靠谱客的博主 踏实野狼,最近开发中收集的这篇文章主要介绍Java后台 通过HSSFWorkbook 生成导出Excel,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

HSSFWorkbook  创建自定义Excel表格


// 创建excel
HSSFWorkbook wk = new HSSFWorkbook();
// 创建一张工作表
HSSFSheet sheet = wk.createSheet("用户");
//创建单元格样式
HSSFCellStyle style= wk.createCellStyle();
//设置单元格样式 "@"为文本
style.setDataFormat(format.getFormat("@"));
//"0.00"为 double 浮点型
//style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
//第0列(从0开始),宽度2500
sheet.setColumnWidth(0, 2500);
sheet.setColumnWidth(1, 4000);
//创建行
HSSFRow row = sheet.createRow(0);
//创建列
HSSFCell cell = row.createCell(0);
cell.setCellValue("员工号");
cell.setCellStyle(style);
cell = row.createCell(1);
cell.setCellValue("员工姓名");
cell.setCellStyle(style);
// 遍历集合数据,产生数据行,设置单元格格式
for (int i = 1; i < 51; i++) {
//设置同一行数据时使用同一个HSSFRow 不然会导致之前设置的style失效
HSSFRow hssfRow = sheet.createRow(i);
HSSFCell cells = hssfRow.createCell(0);
HSSFCellStyle cellStyle2 = wk.createCellStyle();
HSSFDataFormat format = wk.createDataFormat();
cellStyle2.setDataFormat(format.getFormat("@"));
cells.setCellStyle(cellStyle2);
HSSFCell cel = hssfRow.createCell(1);
HSSFCellStyle cellStyle3 = wk.createCellStyle();
HSSFDataFormat formats = wk.createDataFormat();
cellStyle3.setDataFormat(formats.getFormat("@"));
cel.setCellStyle(cellStyle3);
}
//编码
response.setContentType("application/octet-stream");
//文件名
response.setHeader("Content-Disposition", "attachment;filename=" + new String(("用户导入模板" + DateUtils.getDate("yyyyMMddHHmmss") + ".xls").getBytes(), "iso-8859-1"));
//导入
response.flushBuffer();
//下载到点击页面
wk.write(response.getOutputStream());

整理可行性 单元格设置

第一种:日期格式

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);

最后

以上就是踏实野狼为你收集整理的Java后台 通过HSSFWorkbook 生成导出Excel的全部内容,希望文章能够帮你解决Java后台 通过HSSFWorkbook 生成导出Excel所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部