JAVA后台.xlsx与.xls文件导出

List<Map<String, Object>> list=passBookService.exportPassBookExcel(params);//查询出来的数据

@SuppressWarnings({ “unused”, “resource” })//忽略导出文件
XSSFWorkbook workBook = new XSSFWorkbook();// 创建一个Excel文件
XSSFCellStyle boderStyle = workBook.createCellStyle();
XSSFSheet sheet = workBook.createSheet(“power”);//设置Excel第一页名字

String fileName = “项目信息” + “.xlsx”;//设置要导出的文件的名字

XSSFRow row = sheet.createRow(0);//生成第一行
XSSFFont headerFont1 = workBook.createFont();
headerFont1.setBold(true);// 字体加粗
boderStyle.setFont(headerFont1);//给予样式

String [] headers={“项目名称”,“项目规模”,“所属区域”,“项目立项”,“项目沟通会”,“项目招标”,“项目投标”,“项目中标”,“项目实施”,“项目验收”,“项目回款”};

for(int i=0;i<headers.length;i++){
XSSFCell cell = row.createCell(headers[i]);//获取第一行的每一列
cell.setCellValue(headers[i]);//给予这一列value值
cell.setCellStyle(boderStyle);//将上面文字加粗的样式添加到这一列中
cell.getCellStyle().setAlignment(HorizontalAlignment.CENTER);//文字居中
}

int rowNum = 1;
for(Map<String, Object> bean:list) {
XSSFRow row1 = sheet.createRow(rowNum);//从第二行开始获取(第一行设置了标题)
row1.createCell(0).setCellValue(bean.get(“projectName”).toString());//项目名称
//createCell(0)获取的是这一行的第一列,然后在通过setCellValue来赋值。只能存int与字符串类型

rowNum++;
}

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");//.xlsx格式
response.setHeader("Content-disposition", "attachment;filename=" +URLEncoder.encode(fileName, "utf-8") );
response.setHeader("Content-disposition", "attachment;filename=" +URLEncoder.encode(fileName, "utf-8") );

response.flushBuffer();
workBook.write(response.getOutputStream());

如若换成xls文件导出
将XSSFWorkbook换成HSSFWorkbook
XSSFSheet换HSSFSheet
XSSFRow 换HSSFRow
输出换成response.setContentType(“application/vnd.ms-excel”);//.xls格式
就行了

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值