magicapi导出excel

参考:Hutool参考文档 response模块 | magic-api

import response;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import cn.hutool.poi.excel.StyleSet;

import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.CellStyle;

Map row1 = new LinkedHashMap();
row1.put("姓名", "张三");
row1.put("年龄", 23);
row1.put("成绩", 88.32);
row1.put("是否合格", true);
row1.put("考试日期", DateUtil.date());
Map row2 = new LinkedHashMap();
row2.put("姓名", "李四");
row2.put("年龄", 33);
row2.put("成绩", 59.50);
row2.put("是否合格", false);
row2.put("考试日期", DateUtil.date());
ArrayList rows = new ArrayList();
rows.add(row1);
rows.add(row2);

// 创建输出 - 设置为true 是 xlsx的格式
ExcelWriter writer = ExcelUtil.getWriter(true);


// 定义单元格背景色
StyleSet style = writer.getStyleSet();
// 第二个参数表示是否也设置头部单元格背景
style.setBackgroundColor(IndexedColors.GREEN, false);
// 创建标题字体
Font font = writer.createFont();
font.setFontName("黑体");
font.setBold(true);
font.setColor(Font.COLOR_RED); 
font.setItalic(true); 
//第二个参数表示是否忽略头部样式
style.setFont(font, true);

// 跳过当前行,既第一行,非必须,在此演示用
// writer.passCurrentRow();
writer.merge(row1.size() - 1, "测试标题");
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
// 全局 宽15
writer.setColumnWidth(-1, 15);
// 全局 高25
writer.setRowHeight(-1, 25);

// test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition","attachment;filename=test.xlsx"); 
ServletOutputStream out=response.getOutputStream(); 
writer.flush(out, true);
// 关闭writer,释放内存
writer.close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值