java导出excel 客户端_Java poi导出Excel下载到客户端

Java poi 导出Excel并下载到客户端,具体内容如下

Maven配置,包含了其他文件格式的依赖,就全贴出来了

org.apache.poi

poi-excelant

3.12

org.apache.poi

poi-scratchpad

3.12

org.apache.poi

poi-ooxml

3.8

org.apache.poi

poi-ooxml-schemas

3.8

Service层

@Override

public void export(Long sblsh, String excelName, OutputStream out) {

try {

// 第一步,创建一个webbook,对应一个Excel文件

HSSFWorkbook wb = new HSSFWorkbook();

//生成一个表格

HSSFSheet sheet = wb.createSheet(excelName);

// 第三步,在sheet中添加表头第0行

HSSFRow row = sheet.createRow(0);

// 第四步,创建单元格,并设置值表头 设置表头居中

HSSFCellStyle style = wb.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式

HSSFCell cell = row.createCell(0);

cell.setCellStyle(style);

Byte kjzz = qyjbxxMapper.getKjzz(sblsh);

List record = this.selectBySblsh(sblsh);

this.insertData(wb, sheet, row, record, out);

}

} catch (Exception e) {

logger.info(e.getMessage());

}

}

/**

* 导入数据到表格中

* @param wb execl文件

* @param sheet 表格

* @param row 表格行

* @param record 要导出的数据

* @param out 输出流

*/

private void insertData(HSSFWorkbook wb,HSSFSheet sheet,HSSFRow row,List record,

OutputStream out){

try {

row = sheet.createRow(1);

for(int i=0;i

row.createCell(i).setCellValue(title[i]);

}

for(int i=0;i

row = sheet.createRow(i+2);

A data = record.get(i);

row.createCell(0).setCellValue(data.getHc());

row.createCell(1).setCellValue(data.getXm());

BigDecimal je = data.getJe();

if(je!=null){

row.createCell(2).setCellValue(je.doubleValue());

}

}

//合并单元格,前面2位代表开头结尾行,后面2位代表开头结尾列

CellRangeAddress region = new CellRangeAddress(0,0,0,title.length-1);

sheet.addMergedRegion(region);

wb.write(out);

out.flush();

out.close();

wb.close();

} catch (Exception e) {

logger.info(e.getMessage());

}

}

Controller

@RequestMapping("/export")

public void export(Long sblsh, HttpServletRequest request, HttpServletResponse response){

response.setContentType("octets/stream");

String excelName = "文件名";

try {

response.addHeader("Content-Disposition", "attachment;filename="+new String(excelName.getBytes("gb2312"), "ISO8859-1" )+".xls");

OutputStream out = response.getOutputStream();

aService.export(sblsh,excelName ,out);

} catch (Exception e) {

e.printStackTrace();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值