hutool excel导出

废话不说,show code!!!

String fileName ="统计_".concat(DateUtil.format(DateUtil.date(), "yyyyMMdd").toString()).concat(".xlsx");
		cn.hutool.poi.excel.ExcelWriter excelWriter = null;
		getResponse().setContentType("appllication/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
		getResponse().setCharacterEncoding("utf-8");
		fileName = URLEncoder.encode(fileName, "utf-8").replace("\\+", "%20");
		getResponse().setHeader("Content-disposition", "attachment;filename*=utf8''" + fileName + ".xlsx");
		try {
			excelWriter = ExcelUtil.getWriter(true);
			for (model node : list) {
				//选择sheet
				excelWriter.setSheet(list.indexOf(node));
				Workbook wb = excelWriter.getSheet().getWorkbook();
				//设置sheet名称
				wb.setSheetName(list.indexOf(node), node.getName());
				//设置列宽,先设置宽度再合并列,否则会按照合并后的行来设置宽
				excelWriter.setColumnWidth(0, 30);
				excelWriter.setColumnWidth(1, 100);
				//设置自动换行•
				CellStyle cellStyle=excelWriter.getStyleSet().getCellStyle();
				cellStyle.setWrapText(true);
				//设置左对齐
				cellStyle.setAlignment(HorizontalAlignment.LEFT);
				//设置第一行合并,向后合并1列,总计2列
				excelWriter.merge(1, node.getName().concat("信息采集"));
				List<NodeExportDto> listdto = nodeService.getdto(node);
				//写入sheet,不输出outstream
				excelWriter.write(list);
			}
		} catch (Exception e) {

		} finally {
			if (excelWriter != null) {
				//当flush和close时才写
				excelWriter.flush(getResponse().getOutputStream());
				excelWriter.close();
			}
		}

导出xlsx如下:(sheet名、和并列、左对齐、自动换行)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值