html 导入导出demo,基于easypoi 导出demo

import cn.afterturn.easypoi.excel.ExcelExportUtil;

import cn.afterturn.easypoi.excel.ExcelImportUtil;

import cn.afterturn.easypoi.excel.entity.ExportParams;

import cn.afterturn.easypoi.excel.entity.ImportParams;

import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;

import org.apache.poi.ss.usermodel.Workbook;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.InputStream;

import java.net.URLEncoder;

import java.util.List;

import java.util.Map;

import java.util.NoSuchElementException;

public class ExcelUtils {

/**

* 默认的 excel 导出

*

* @param list 数据

* @param pojoClass pojo类型

* @param fileName 文件名称

* @param response

* @param exportParams 导出参数

*/

private static void defaultExport(List> list, Class> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) throws IOException {

Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);

downLoadExcel(fileName, response, workbook);

}

/**

* 默认的 excel 导出

*

* @param list 数据

* @param pojoClass pojo类型

* @param fileName 文件名称

* @param response

* @param exportParams 导出参数

*/

private static void defaultExportXSSF(List> list, Class> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) throws IOException {

Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list);

downLoadExcelXSSF(fileName, response, workbook);

}

/**

* 默认的 excel 导出

*

* @param list 数据

* @param fileName 文件名称

* @param response

*/

public static void defaultExport(List> list, String fileName, HttpServletResponse response) throws IOException {

Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);

downLoadExcel(fileName, response, workbook);

}

/**

* 下载

*

* @param fileName 文件名称

* @param response

* @param workbook excel数据

*/

private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) throws IOException {

try {

response.setCharacterEncoding("UTF-8");

response.setHeader("content-Type", "application/vnd.ms-excel");

response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + "." + ExcelTypeEnum.XLS.getValue(), "UTF-8"));

workbook.write(response.getOutputStream());

} catch (Exception e) {

throw new IOException(e.getMessage());

}

}

/**

* 下载

*

* @param fileName 文件名称

* @param response

* @param workbook excel数据

*/

private static void downLoadExcelXSSF(String fileName, HttpServletResponse response, Workbook workbook) throws IOException {

try {

response.setCharacterEncoding("UTF-8");

response.setHeader("content-Type", "application/vnd.ms-excel");

response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + "." + ExcelTypeEnum.XLSX.getValue(), "UTF-8"));

workbook.write(response.getOutputStream());

} catch (Exception e) {

throw new IOException(e.getMessage());

}

}

/**

* excel 导入

*

* @param file excel文件

* @param pojoClass pojo类型

* @param

* @return

*/

public static List importExcel(MultipartFile file, Class pojoClass) throws IOException {

return importExcel(file, 1, 1, pojoClass);

}

/**

* excel 导入

*

* @param file excel文件

* @param titleRows 标题行

* @param headerRows 表头行

* @param pojoClass pojo类型

* @param

* @return

*/

public static List importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class pojoClass) throws IOException {

return importExcel(file, titleRows, headerRows, false, pojoClass);

}

/**

* excel 导入

*

* @param file 上传的文件

* @param titleRows 标题行

* @param headerRows 表头行

* @param needVerfiy 是否检验excel内容

* @param pojoClass pojo类型

* @param

* @return

*/

public static List importExcel(MultipartFile file, Integer titleRows, Integer headerRows, boolean needVerfiy, Class pojoClass) throws IOException {

if (file == null) {

return null;

}

try {

return importExcel(file.getInputStream(), titleRows, headerRows, needVerfiy, pojoClass);

} catch (Exception e) {

throw new IOException(e.getMessage());

}

}

/**

* excel 导入

*

* @param inputStream 文件输入流

* @param titleRows 标题行

* @param headerRows 表头行

* @param needVerfiy 是否检验excel内容

* @param pojoClass pojo类型

* @param

* @return

*/

public static List importExcel(InputStream inputStream, Integer titleRows, Integer headerRows, boolean needVerfiy, Class pojoClass) throws IOException {

if (inputStream == null) {

return null;

}

ImportParams params = new ImportParams();

params.setTitleRows(titleRows);

params.setHeadRows(headerRows);

params.setSaveUrl("/excel/");

params.setNeedSave(true);

params.setNeedVerify(needVerfiy);

try {

return ExcelImportUtil.importExcel(inputStream, pojoClass, params);

} catch (NoSuchElementException e) {

throw new IOException("excel文件不能为空");

} catch (Exception e) {

throw new IOException(e.getMessage());

}

}

/**

* Excel 类型枚举

*/

enum ExcelTypeEnum {

XLS("xls"), XLSX("xlsx");

private String value;

ExcelTypeEnum(String value) {

this.value = value;

}

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

}

}

实体类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值