生成Excel文件
Posted 程序波
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成Excel文件相关的知识,希望对你有一定的参考价值。
@Autowired
private WayBillService wayBillService;
@Action("report_exportXls")
public String exportXsl() throws Exception{
//
List<WayBill> wayBills = wayBillService.findWayBills(model);
//生成Excel文件
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
HSSFSheet sheet = hssfWorkbook.createSheet("运单数据");
//表头
HSSFRow headRow = sheet.createRow(0);
headRow.createCell(0).setCellValue("运单号");
headRow.createCell(1).setCellValue("寄件人");
headRow.createCell(2).setCellValue("寄件人电话");
headRow.createCell(3).setCellValue("寄件人地址");
headRow.createCell(4).setCellValue("收件人");
headRow.createCell(5).setCellValue("收件人电话");
headRow.createCell(6).setCellValue("收件人地址");
//表格数据
for (WayBill wayBill : wayBills) {
HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum()+1);
dataRow.createCell(0).setCellValue(wayBill.getWayBillNum());
dataRow.createCell(1).setCellValue(wayBill.getSendName());
dataRow.createCell(2).setCellValue(wayBill.getSendMobile());
dataRow.createCell(3).setCellValue(wayBill.getSendAddress());
dataRow.createCell(4).setCellValue(wayBill.getRecName());
dataRow.createCell(5).setCellValue(wayBill.getRecMobile());
dataRow.createCell(6).setCellValue(wayBill.getRecAddress());
}
//下载导出
//设置头信息
ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");
String filename = "运单数据.xls";
String agent = ServletActionContext.getRequest().getHeader("user-agent");
filename = FileUtils.encodeDownloadFilename(filename, agent);
ServletActionContext.getResponse().setHeader("Content-Disposition",
"attachment;filename="+filename);
ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
hssfWorkbook.write(outputStream);
//关闭
hssfWorkbook.close();
return NONE;
}
以上是关于生成Excel文件的主要内容,如果未能解决你的问题,请参考以下文章
java批量数据导出多个excel,为啥老是只生成一个excel文件
请问下,我想用java实现下载excel表格,思路是先在临时文件里生成临时excel文件,但是不知