一只会飞的旺旺
文章108
标签76
分类8
Easypoi导入导出Excel

Easypoi导入导出Excel

小卖铺上新啦!ChatGPT账号大甩卖! 一键直达

官网地址

Easypoi开发文档

导出实例

// 导出导入实体类
@Data
public class R implements Serializable, IExcelModel, IExcelDataModel {

    private static final long serialVersionUID = -3099653964677586050L;

    private int rowNum;

    private String errorMsg;

    @Excel(name = "导入字段", width = 20)
    @NotBlank
    private String field;


    @Override
    public Integer getRowNum() {
        return rowNum;
    }

    @Override
    public void setRowNum(Integer rowNum) {
        this.rowNum = rowNum;
    }

    @Override
    public String getErrorMsg() {
        return errorMsg;
    }

    @Override
    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }
}
    public void exportExcel(HttpServletResponse response, HttpServletRequest request) throws IOException {
        Workbook workbook;
        String filename = "导出.xlsx";
        ExportParams exportParams = new ExportParams();
        exportParams.setDictHandler(deviceTypeHandler);
        workbook = ExcelExportUtil.exportExcel(exportParams, R.class, new ArrayList<>());
        // 告诉浏览器用什么软件可以打开此文件
        response.setHeader("content-Type", "application/vnd.ms-excel");
        // 下载文件的默认名称
        response.setHeader("Content-Disposition", "attachment;filename=utf-8" + URLEncoder.encode(filename, "UTF-8"));
        response.setCharacterEncoding("UTF-8");
        workbook.write(response.getOutputStream());
    }

导入实例

public Result importExcel(MultipartFile file) throws Exception {
        ImportParams importParams = new ImportParams();
        importParams.setNeedVerify(true);
        importParams.setDictHandler(deviceTypeHandler);
        ExcelImportResult<R> result = ExcelImportUtil.importExcelMore(file.getInputStream(), R.class, importParams);
        // 错误打印业务逻辑
        if (result.isVerifyFail()) {
            return Result.error(result.getFailList().stream().map(item -> "第" + item.getRowNum() + "行报错,错误信息:" + item.getErrorMsg()).collect(Collectors.joining(",")));
        } else {
               // 导入数据处理业务逻辑
            return Result.success("导入成功");
        }
    }

最后

最近要写导出导入,长时间没用导致都忘了写法了,特此记录一下,方便日后使用!

微信支付码 微信支付
支付宝支付码 支付宝支付