/**
* 浏览器下载excel
* @param response
* @param fileName 文件名称
* @param name 工作薄名称
* @param objects 表头
* @param objectList 内容
*/
public void downloadExce(HttpServletResponse response,String fileName,String name,List<Object> objects,List<Object> objectList){
try{
//浏览器下载excel
fileName = URLEncoder.encode(fileName,"UTF-8");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
ServletOutputStream outputStream = response.getOutputStream();
//生成一个表格
XSSFWorkbook workbook = new XSSFWorkbook();
//声明一个工作薄
XSSFSheet sheet = workbook.createSheet(name);
//获取表格的总行数
int rowCount = sheet.getLastRowNum();
//产生表格标题行
XSSFRow row = sheet.createRow(rowCount++); //创建第一行
for (int i = 0;objects.size() > i;i++){
//添加表头
row.createCell(i).setCellValue(objects.get(i).toString());
}
//产生表格数据行
for (int n = 0;objectList.size() > n;){
//需要加一
//最新要添加的一行
row = sheet.createRow(rowCount++);
for(int x = 0;objects.size() > x;x++){
Object o = objectList.get(n);
if (o != null) {
row.createCell(x).setCellValue(objectList.get(n).toString());
}
n++;
}
}
workbook.write(outputStream);
workbook.close();
outputStream.flush();
outputStream.close();
}catch (Exception e){
throw new RuntimeException(e);
}
}
Excel表格下载
最新推荐文章于 2024-07-10 15:10:00 发布