excel 导入

该博客展示了如何在Java应用中使用Afterturn的EasyPoi库进行Excel数据的导入。首先,定义了POM文件中所需的EasyPoi依赖。接着,提供了导入Excel文件的API实现,包括文件有效性检查、读取文件并转换为数据列表,以及处理导入异常。在`getImportData`方法中,使用`ExcelImportUtil`进行Excel内容的解析。
摘要由CSDN通过智能技术生成

pom依赖如下:

<properties>
    <afterturn-easypoi.version>4.2.0</afterturn-easypoi.version>
</properties>
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-base</artifactId>
    <version>${afterturn-easypoi.version}</version>
</dependency>
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-web</artifactId>
    <version>${afterturn-easypoi.version}</version>
</dependency>
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-annotation</artifactId>
    <version>${afterturn-easypoi.version}</version>
</dependency>

导入代码如下:

@ApiOperation(value = "导入测试")
@PostMapping(value = "/import")
public R<?> importTest( @RequestParam(value = "file", required = true) MultipartFile file) throws Exception {
    // 判断文件是否为空
    CheckParamExceptionUtil.notNull(file, "E_BD0122");
    // 获取文件名
    String fileName = file.getOriginalFilename();
    // 进一步判断文件是否为空(即判断其大小是否为0或其名称是否为null)
    long size = file.getSize();
    CheckParamExceptionUtil.isNotBlank(fileName, "E_BD0122");
    if (size < 1) {
        throw new EmsException("E_BD0122");
    }
    List<Test> dataList = getImportData(file);
    if (CollectionUtils.isEmpty(dataList)) {
        throw new EmsException("E_BD0129");
    }
}
private List<Test> getImportData(MultipartFile file) throws Exception, IOException {
    List<Test> dataList = null;
    try (InputStream inputStream = file.getInputStream()) {
        ImportParams params = new ImportParams();
        // 导入 普通导入
        dataList = ExcelImportUtil.importExcel(inputStream, Test.class, params);
    } catch (Exception e) {
        e.printStackTrace();
        throw new EmsException("E_BD0126", e);
    }
    return dataList;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值