如果使用Easypoi导入Excel?生产版

之前一直使用Easypoi的导出,导入功能用的比较少,今天给大家来个教程,开搞。

导入pom依赖

我使用的版本目前不是最新版本,具体最新的关注官网


        <!-- easypoi 导入包 -->
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.0.0</version>
        </dependency>
        
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.0.0</version>
        </dependency>

        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.0.0</version>
        </dependency>

导入使用的Excel模板

在这里插入图片描述

创建导入使用类

Excel的title要和@Excel(name = “”)的保持一致,就是靠这来映射的

/**
 * @author lwh
 * @date 2022/3/16
 * @description IExcelDataModel 获取导入正常的接口,IExcelModel 获取导入异常的接口
 **/
@Data
public class TireProductInputEntity implements IExcelDataModel, IExcelModel {
    /**
     * 行号
     */
    private int rowNum;

    /**
     * 错误消息
     */
    private String errorMsg;

    @Excel(name = "规格")
    @NotBlank(message = "【规格】不能为空")
    private String tireSpec;

    @Excel(name = "花纹")
    @NotBlank(message = "【花纹】不能为空")
    private String tireFigure;

    @Excel(name = "层级")
    @NotBlank(message = "【层级】不能为空")
    private String tireLayer;

    @Excel(name = "品牌")
    private String brandName;

    @Excel(name = "花纹深(mm)")
    @NotBlank(message = "【花纹深(mm)】不能为空")
    private String tireFigureFepth;

    @Excel(name = "标准轮辋")
    @NotBlank(message = "【标准轮辋】不能为空")
    private String standardRim;

    @Excel(name = "负荷指数/速度级别")
    @NotBlank(message = "【负荷指数/速度级别】不能为空")
    private String loadIndex;

    @Excel(name = "断面宽")
    @NotBlank(message = "【断面宽】不能为空")
    private String sectionWidth;

    @Excel(name = "外直径")
    @NotBlank(message = "【外直径】不能为空")
    private String outerDiameter;

    @Excel(name = "单胎1")
    private String singLetonOne;

    @Excel(name = "双胎1")
    private String twinOne;

    @Excel(name = "单胎2")
    private String singletonTwo;

    @Excel(name = "双胎2")
    private String twinTwo;

    @Excel(name = "轮位")
    private String wheelPosition;

}

接口

   @Autowired
    private ImportProductSearchService importProductSearchService;

    @ApiOperation("导入产品")
    @PostMapping("/uploadTireProduct")
    public Result uploadTireProduct(@RequestParam("file") MultipartFile multipartFile) throws Exception {
        return Result.ok(importProductSearchService.uploadTireProduct(multipartFile));
    }

实现代码

  /**
     * @author lwh
     * @date 2022/3/18
     * @description 导入业务提供的商品数据
     **/

    public void uploadTireProduct(MultipartFile multipartFile) throws Exception {
        ImportParams params = new ImportParams();
        // 表头设置为1行
        params.setHeadRows(1);
        // 标题行设置为0行,默认是0,可以不设置
        params.setTitleRows(0);
        // 是否需要校验上传的Excel,默认为false
        params.setNeedVerify(true);
        ExcelImportResult<TireProductInputEntity> result = ExcelImportUtil.importExcelMore(multipartFile.getInputStream(),
                TireProductInputEntity.class, params);
      	System.out.println("是否校验失败: " + result.isVerfiyFail());
        System.out.println("校验失败的集合:" + JSONObject.toJSONString(result.getFailList()));
        System.out.println("校验通过的集合:" + JSONObject.toJSONString(result.getList()));
        for (TireProductInputEntity entity : result.getFailList()) {
            String msg = "第" + (entity.getRowNum() + 1) + "行的错误是:" + entity.getErrorMsg();
            System.out.println(msg);
        }
    
    }

效果

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Vue中使用EasyPoi导入Excel文件,需要进行以下步骤: 1. 安装EasyPoi 在Vue项目中使用EasyPoi需要先安装EasyPoi,可以通过npm进行安装: ``` npm install easypoi --save ``` 2. 创建Excel文件上传组件 在Vue项目中创建一个Excel文件上传组件,可以使用第三方组件库如ElementUI或者自己编写组件。 3. 实现Excel文件上传功能 在Excel文件上传组件中实现文件上传功能,并在上传成功后调用EasyPoi导入方法将Excel文件中的数据导入到Vue项目中。示例代码如下: ```javascript import { importExcel } from 'easypoi'; export default { methods: { handleFileUpload(file) { importExcel(file.raw, { // 配置导入参数 }).then(data => { // 处理导入后的数据 }).catch(error => { // 处理导入失败的情况 }); } } } ``` 在上述代码中,`handleFileUpload`方法表示文件上传成功后的回调函数,其中`importExcel`方法是EasyPoi提供的导入Excel文件的方法,它接受两个参数:Excel文件数据和导入参数。导入成功后,可以对导入的数据进行处理。 4. 配置导入参数 在导入Excel文件时,可以配置一些参数来控制导入的过程,如表头行数、数据行数、数据类型等。示例代码如下: ```javascript import { importExcel } from 'easypoi'; export default { methods: { handleFileUpload(file) { importExcel(file.raw, { // 配置导入参数 titleRows: 1, // 表头行数,默认为1 startRows: 2, // 数据行开始行数,默认为2 type: 'array' // 导入数据类型,默认为array }).then(data => { // 处理导入后的数据 }).catch(error => { // 处理导入失败的情况 }); } } } ``` 在上述代码中,`titleRows`表示表头的行数,默认为1;`startRows`表示数据行的开始行数,默认为2;`type`表示导入数据的类型,默认为array。 5. 处理导入后的数据 在导入Excel文件后,可以对导入的数据进行处理。如将数据存储到数据库中、显示到页面上等。示例代码如下: ```javascript import { importExcel } from 'easypoi'; export default { data() { return { tableData: [] // 表格数据 } }, methods: { handleFileUpload(file) { importExcel(file.raw, { // 配置导入参数 }).then(data => { // 处理导入后的数据 this.tableData = data; }).catch(error => { // 处理导入失败的情况 }); } } } ``` 在上述代码中,`tableData`是Vue组件中用来存储导入后的数据的数组,当导入成功后,将数据存储到该数组中,然后可以在页面上显示出来。 这就是在Vue中使用EasyPoi导入Excel文件的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术武器库

一句真诚的谢谢,胜过千言万语

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值