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();
}
}
}
}
-