EasyExcel导出xlsx-工具类

public class EasyUtil {

    public ResponseResult putExcel(HttpServletResponse response, Collection<?> data,
                                    Class head, String sheetName) throws IOException {

        //设置表名
        String fileName = new String((new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(), "UTF-8");
        //设置字符编码
        response.setCharacterEncoding("utf-8");
        //设置内容类型
        response.setContentType("application/json;charset=utf-8");
        //设置标题
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + ".xlsx", "utf-8"));
        //核心代码
        EasyExcel.write(response.getOutputStream(),head).sheet(sheetName).doWrite(data);
        return ResponseResult.okResult(HttpCodeEnum.SUCCESS);
    }

}

impl

 

    @Override
    public ResponseResult download(HttpServletResponse response, List<Integer> id) {
        List<Demo> feedbacks = listByIds(id);
        EasyUtil easyUtil = new EasyUtil();
        String string = "测试一下";
        try {
            easyUtil.putExcel(response, feedbacks, Feedback.class, string);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return ResponseResult.okResult(HttpCodeEnum.SUCCESS);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于EasyExcel导出工具类示例: ```java import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterSheetBuilder; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.WriteTable; import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.VerticalAlignment; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.util.List; public class ExcelExportUtil { /** * 导出Excel * * @param response HttpServletResponse * @param fileName 文件名 * @param sheetName sheet名称 * @param head 表头 * @param data 数据 */ public static void export(HttpServletResponse response, String fileName, String sheetName, List<List<String>> head, List<List<Object>> data) throws IOException { // 设置响应头 response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); // 构建writer ExcelWriterBuilder writerBuilder = EasyExcel.write(response.getOutputStream()); // 设置样式 WriteCellStyle headStyle = new WriteCellStyle(); headStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); WriteCellStyle contentStyle = new WriteCellStyle(); contentStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); contentStyle.setVerticalAlignment(VerticalAlignment.CENTER); HorizontalCellStyleStrategy styleStrategy = new HorizontalCellStyleStrategy(headStyle, contentStyle); // 创建sheet ExcelWriterSheetBuilder sheetBuilder = writerBuilder.sheet(sheetName); WriteSheet sheet = sheetBuilder.build(); // 创建表头和表格 WriteTable table = new WriteTable(); table.setHead(head); table.setClazz(Object.class); table.setAutoWidth(true); // 写入数据 EasyExcel.write(response.getOutputStream(), Object.class) .registerWriteHandler(styleStrategy) .sheet(sheetName) .table(table) .doWrite(data); } } ``` 使用示例: ```java List<List<String>> head = Arrays.asList( Arrays.asList("姓名", "年龄", "性别"), Arrays.asList("Tom", "18", "男"), Arrays.asList("Lucy", "20", "女") ); List<List<Object>> data = Arrays.asList( Arrays.asList("Tom", 18, "男"), Arrays.asList("Lucy", 20, "女") ); ExcelExportUtil.export(response, "test.xlsx", "Sheet1", head, data); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值