【easypoi】easypoi导入csv格式的文件

EasyPoi Excel /World操作 EasyPOI是一款简化Apache POI开发的工具类库,专注于Excel/Word文档的快速导入导出操作。它通过注解方式简化开发流程,仅需5行代码即可完成Excel操作,支持模板导出功能。主要面向不熟悉POI、希望减少重复代码的开发者。EasyPOI并非替代POI,而是降低使用门槛。使用前需引入easypoi-base等依赖(4.1.0版本)。示例展示了通过@Excel注解修饰实体类,配合ExportParams实现数据导出,并封装了工具类简化操作。项目官网提供了完整文档支持。 阅读详情

1.Maven依赖

 		<dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-base</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-web</artifactId>
            <version>4.4.0</version>
        </dependency>
        <dependency>
            <groupId>cn.afterturn</groupId>
            <artifactId>easypoi-annotation</artifactId>
            <version>4.4.0</version>
        </dependency>

2.编写一个工具类

public class CsvUtils {
   /**
    * 导入Csv模板
    * @param file 导入的文件
    * @param clazz 类型
    * @throws Exception 导入异常
    */
   public static <T> List<T> importCsv(MultipartFile file,Class<T> clazz) throws Exception {
       return importCsv(file,0,1,clazz);
   }

   /**
    * 导入Csv模板
    * @param file 导入的文件
    * @param titleRow 标题行数
    * @param headerRow 头部行数
    * @param clazz 类型
    * @throws Exception 导入异常
    */
   public static <T> List<T> importCsv(MultipartFile file,Integer titleRow,Integer headerRow,Class<T> clazz) throws Exception {
       CsvImportParams params = new CsvImportParams();
       params.setTitleRows(titleRow);
       params.setHeadRows(headerRow);
       params.setEncoding("GBK");
       return importCsv(params,file, clazz);
   }
   /**
    *
    * @param params 导入参数设置
    * @param file 导入文件
    * @param clazz 类对象
    * @throws Exception 导入异常
    */
   public static <T> List<T> importCsv(CsvImportParams params, MultipartFile file, Class<T> clazz) throws Exception {
       return CsvImportUtil.importCsv(file.getInputStream(), clazz, params);
   }
}

3.实体类

这里使用的注解就和导入Excel时的一摸一样,不需要做什么特殊处理

@Data
@TableName(value ="jy_device_switch_power_system_info")
@ExcelTarget("jyDeviceSwitchPowerSystemInfo")
public class JyDeviceSwitchPowerSystemInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.AUTO)
    private Long id;
    @Excel(name = "设备名称(上报)",isImportField = "true")
    private String deviceName;
    @Excel(name = "设备ID")
    private String deviceId;
    @Excel(name = "站点ID")
    private String deviceStationId;
    @Excel(name = "资源标识(集团)")
    private String deviceResourceIdentification;
    @Excel(name = "所属地市")
    private String deviceBelongCity;
    @Excel(name = "所属区县")
    private String deviceBelongCounty;
    @Excel(name = "所属位置点")
    private String deviceBelongPosition;
    @Excel(name = "所属机房(集团)")
    private String deviceRoomName;
    @Excel(name = "系统类型(集团)")
    private String deviceCategoryName;
    @Excel(name = "创建时间")
    private Date createTime;
    }

4.导入

public class ImportController {

    @PostMapping("/import")
    @ApiOperation("导入数据")
    public AjaxResult<?> bbu(@RequestPart("file")MultipartFile file){
        try {

            List<JyDeviceSwitchPowerSystemInfo> jyDeviceSwitchPowerSystemInfos = CsvUtils.importCsv(file, JyDeviceSwitchPowerSystemInfo.class);
            jyDeviceSwitchPowerSystemInfos.forEach(System.out::println);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

遇到的问题:

我在这里写导入的时候,遇到了一个我百思不得其解的问题,导入的数据行数是对的,但是所有的数据都是null,网上搜了一下,根本搜不到解决方案,于是下载源码一步一步调试,终于发现问题,发现CSV的表头导入的时候全部乱码了,和注解里的文字注释根本对应不上,所以导入的数据全部是null
在这里插入图片描述
各位如果也出现类型的情况,用notepad打开你的文件,看看你的文件编码是什么,这里设置一下,再导入就好了。

使用easyPoi 进行多sheet大数据导出 怎样使用easyPoi 进行多sheet大数据导出 阅读详情

相关推荐

easypoi导出工具

easypoi常用导入,导出,工具,引入easypoi包ExcelUtil工具类,可以直接导出查询的数据

EasyPOI处理excel、CSV导入导出

使用POI在导出导出excel、导出csv、word时代码有点过于繁琐,好消息是近两年在开发市场上流行一种简化POI开发的类库:easyPOI。从名称上就能发现就是为了简化开发。Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效。不太熟悉poi的不想写太多重复太多的只是简单的导入导出的喜欢使用模板的都可以使用easypoi。

m0_53951384的博客 2852

easypoi导入导出实例

easypoi完整的导入导出实例,内包含完整项目以及excel文件,导入可直接使用。

导入/读取csv或者xls文件

自定义工具类,用来解析xls、xlsx、csv等文件,并进行封装

qq_54655539的博客 848

CSV导出类库(Easy CSV Export)源码

轻量级的CSV导出类库,代码量小,使用简单,可以导出为File,TextWriter,HttpResponse。 有测试代码可供参考。 欢迎转载。

poi导出cvs文件

NULL 博文链接:https://x125858805.iteye.com/blog/2279050

easypoi 导出pdf_EXCEL操作神器,快速导入导出,easypoi值得你尝试

话不多说,直接上地址:https://gitee.com/lemur/easypoi介绍:POI 工具类,Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效,easypoi值得你尝试excle操作帮助文档https://gitee.com/lemur/easypoi帮助文档 帮助文档包含10个部分:1. 前...

weixin_39996739的博客 2631

springboot整合easypoi实现文件导入导出OSS文件上传和下载。OSS图片导出

代码简单容懂。下载就可以运行。该列子包过了easypoi注解导出exel表格同时导出oss中的图片到exel表格中。

SpringBoot集成EasyPOI实现excel导入导出功能

SpringBoot可以快速使用EasyPOI进行便捷的导入导出,这里是一份简单的教程,包含导入和导出部分。一段controller代码+一个@Excel实体类注解,轻松实现excel导入导入。

★【World Of Moshow 郑锴】★ 1万+

模型剪枝实战 | Torch-Pruning 库在YOLOv8上的应用指南

本文详细介绍了如何使用Torch-Pruning库对YOLOv8模型进行结构化剪枝,以实现模型“瘦身”。通过DepGraph(依赖图)技术自动处理层间依赖,确保剪枝安全。文章提供了从环境搭建、核心原理理解到完整剪枝流程的实战指南,并强调了剪枝后的微调与性能评估,帮助开发者在保持精度的同时显著提升模型推理速度。

weixin_29046035的博客 502

在Ansys Simplorer中设计三相逆变器,并与Maxwell FEA耦合,实现160kW PMSM

在这篇博文中,我们将探讨如何使用设计三相逆变器,并将其与Ansys Maxwell中的电磁有限元分析模型耦合,以获得准确的系统级结果。Ansys Electronics为多域仿真提供了强大的生态系统,可实现跨各种物理领域的无缝集成。Maxwell用于电磁有限元分析 (FEA),Simplorer(Twin Builder) 用于系统级逆变器和控制器设计,Icepak用于电子热仿真。例如,我们将使用 Simplorer 介绍160 kW、8 极永磁同步电机 (PMSM)的逆变器设计过程。让我们开始吧!

jkh920184196的博客 1423

springboot+easypoi 导入导出带图片excel实例

准备工作 创建数据库 DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` int NOT NULL, `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名', `photo` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_

Lalo的博客 8395

ZYNQ裸机LWIP双网口实现

文章目录前言一、LWIP双网口二、使用步骤1.部分说明2.部分代码总结 前言 一、LWIP双网口 由于项目需要多通讯口,查阅资料发现lwip支持多网口操作。于是,就开搞了。 二、使用步骤 1.部分说明 利用xemac_add函数在网卡链表中添加一个网卡,即使用netif块重复xemac_add操作。 先用轮询的方式实现双网口,后期修改为中断模式 2.部分代码 导入官方例程LWip echo server, 修改main函数,增加一个netif块 #if LWIP_IPV6==0 #if L..

weixin_35865280的博客 1万+

报表技术3-EasyPOI

EasyPOI的简单使用

weixin_43994244的博客 2302

高效 DEM 拼接

通过以上步骤的系统实施,能够实现高效、准确的大型地理信息系统 DEM 数据拼接,满足复杂和大规模项目的应用需求。

llhllq2015的博客 1032

从硬件到软件:深度解析D435i USB SCP overflow错误的根源与解决方案

本文深入解析Intel RealSense D435i相机在ROS环境下常见的'USB SCP overflow'错误,特别是与`control_transfer`相关的错误提示。从硬件配置到软件优化,详细介绍了如何通过调整USB接口、优化`rs_camera.launch`参数、更新固件驱动等方法解决数据传输溢出问题,提升设备稳定性和性能。

yy01234的博客 770

EasyExcel与EasyPoi性能对比

最近在搞导出的一个服务,老板让对一些框架做一个分析,所以有了这篇文章。:2核16g内存:java最大堆栈内存为1g导出的为xlsx,在单sheet页上,理论上没有行数限制导出格式为xls,在条数超过6万行,会增加sheet页一种以逗号分割格式的文件,不存在行数限制,有时也称为,因为分隔字符也可以不是逗号),其文件以纯文本()。纯文本意味着该文件是一个序列,不含必须像那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由。

顺其自然~专栏 3187

Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效问题(支持修改文字颜色、文字大小、选择器边框、hover效果、宽高等任意样式

vue3,element-plus,el-select,下拉选择器,下拉选择框,Select选择器,deep覆盖无效怎么办,怎么修改placeholder文字颜色,选择器select修改边框样式,修改文字大小,elementPlus选择器如何覆盖hover效果,使用deep改不了样式,修改边框颜色,select去掉边框,vue3+elementPlus中select选择器如何修改placeholder文字样式,修改el-select样式,select选择器样式覆盖不了咋办,el-select如何覆盖原样式,

🏆 前端领域优质创作者 1万+

easypoi 导入 数字失精_easypoi: POI 工具类,Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,...

EasyPoi Excel和 Word简易工具类easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板语言(熟悉的表达式语法),完成以前复杂的写法官网: http://www.wupaas.com/邮箱: xue315998@qq.comQQ群: 1群 36419...

weixin_39662578的博客 562

【AI智能体】Coze 数据库从使用到实战操作详解

Coze 数据库使用到实战详解

congge 5912

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

excel POI处理推荐项目 easypoi easyexcel

Excel工具包 首推:easypoi(功能非常强大,挺好用) POI 工具类 Excel的快速导入导出 Excel模板导出 Word模板导出 CSV导入处理 Excel&Html互转 PDF处理 可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效。 项目地址: https://gitee.com/lemur/easypoi 使用教程...

赵英超的博客 6731

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

EasyPOI使用总结

本文主要介绍了EasyPOI工具在Excel导出中的实际应用,重点分析了ExportParams和TemplateExportParams两个核心配置类的使用场景及方法。文章文指出EasyPOI版本差异和文档不完善容易导致开发问题,并详细说明了4.4.0版本下这两个类的构造方法和参数配置,包括标题设置、Sheet页命名、模板路径指定等关键功能。文章还提供了完整的代码示例,展示如何实现图片导出、模板替换等实际业务场景的实现方法。

ToDo6的博客 852

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Springboot项目中使用EasyPOI操作Excel(详细教程系列4/4)

上几篇文章都介绍poi在导出导出excel、导出csv、word的功能,用起来感觉代码有点过于繁琐,目前开发市场上流行一种简化POI开发的类库:easyPOI。从名称上就能发现就是为了简化开发。Excel的快速导入导出,Excel模板导出,Word模板导出,可以仅仅5行代码就可以完成Excel的导入导出,修改导出格式简单粗暴,快速有效。Easypoi需要熟悉Poi的操作,它是为简化poi的开发,使用模板更便捷。为谁而开发?

tigerhhzz的博客 1285

Excel 百万数据导出 csv格式

1,引入 Excel 2003及以下的版本。一张表最大支持65536行数据,256列。也就是说excel2003完全不可能满足百万数据导出的需求。 Excel 2007-2010版本。一张表最大支持1048576行,16384列; 补充,关于CSV 1.1 什么是csv? 纯文本格式 1.2 csv有哪些优点? 数据存储量小 功能强大 兼容excel 2,代码 依赖引入: <!-- easypoi start --> <dependency>

qq_36636312的博客 3071
上一篇: 【JavaScript】10-js操作bom
下一篇: 请求后台接口,字段为null不返回问题
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值