Easyexcel2.0导入导出工具类

Easyexcel2.0导入导出工具类记录

直接上代码
package com.rongdian.data.platform.util;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;

import java.io.OutputStream;
import java.util.List;
import java.util.Map;

/**

  • @author yj
    */
    public class EasyExcelUtil {

    /**

    • 根据sheet名字和类到路径动态导出数据到对应路径

    • @param filePath

    • @param dataList

    • @param sheetName

    • @param clazz

    • @param

    • @throws Exception
      */
      public static void createExcel(String filePath, List dataList, String sheetName, Class clazz) throws Exception {

      try {
      EasyExcel.write(filePath, clazz).sheet(sheetName).doWrite(dataList);
      } catch (Exception e) {
      throw new RuntimeException(e);
      }
      }

    /**

    • 根据sheet名字和表头数据,表头内容导出到对应路径(可组装复杂表头)
    • @param filePath
    • @param dataList
    • @param head
    • @param sheetName
    • @param
    • @throws Exception
      */
      public static void createExcelDynamicHead(String filePath, List dataList, List<List> head, String sheetName) throws Exception {
      try {
      EasyExcel.write(filePath).head(head).sheet(sheetName).doWrite(dataList);
      } catch (Exception e) {
      throw new RuntimeException(e);
      }
      }

    /**

    • 多sheet导出到对应路径
    • @param filePath
    • @param dataMap
    • @param clazz
    • @param
    • @throws Exception
      */
      public static void createExcelManySheets(String filePath, Map<String, List> dataMap, Class clazz) throws Exception {
      ExcelWriter excelWriter = EasyExcel.write(filePath, clazz).build();
      try {
      int index = 0;
      for (Map.Entry<String, List> entry : dataMap.entrySet()) {
      String sheetName = entry.getKey();
      List data = entry.getValue();
      WriteSheet sheet = EasyExcel.writerSheet(index++, sheetName).build();
      excelWriter.write(data, sheet);
      }
      } catch (Exception e) {
      throw new RuntimeException(e);
      } finally {
      if (excelWriter != null) {
      excelWriter.finish();
      }
      }
      }

    /**

    • 根据sheet名字和类到路径动态导出数据到对应流中
    • @param outputStream
    • @param dataList
    • @param sheetName
    • @param clazz
    • @param
    • @throws Exception
      */
      public static void createExcelWeb(OutputStream outputStream, List dataList, String sheetName, Class clazz) throws Exception{
      try {
      EasyExcel.write(outputStream, clazz).sheet(sheetName).doWrite(dataList);
      } catch (Exception e) {
      throw new RuntimeException(e);
      }
      }

    /**

    • 根据sheet名字和表头数据,表头内容导出到对应流中(可组装复杂表头)
    • @param outputStream
    • @param dataList
    • @param head
    • @param sheetName
    • @param
    • @throws Exception
      */
      public static void createExcelDynamicHeadWeb(OutputStream outputStream, List dataList, List<List> head, String sheetName) throws Exception {
      try {
      EasyExcel.write(outputStream).head(head).sheet(sheetName).doWrite(dataList);
      } catch (Exception e) {
      throw new RuntimeException(e);
      }
      }

    /**

    • 多sheet导出到对应流
    • @param outputStream
    • @param dataMap
    • @param clazz
    • @param
    • @throws Exception
      */
      public static void createExcelManySheetsWeb(OutputStream outputStream, Map<String, List> dataMap, Class clazz) throws Exception {
      ExcelWriter excelWriter = EasyExcel.write(outputStream, clazz).build();
      try {
      int index = 0;
      for (Map.Entry<String, List> entry : dataMap.entrySet()) {
      String sheetName = entry.getKey();
      List data = entry.getValue();
      WriteSheet sheet = EasyExcel.writerSheet(index++, sheetName).build();
      excelWriter.write(data, sheet);
      }
      } catch (Exception e) {
      throw new RuntimeException(e);
      } finally {
      if (excelWriter != null) {
      excelWriter.finish();
      }
      }
      }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值