当前位置: 首页 > news >正文

EasyExcel3.0读(日期、数字或者自定义格式转换)

EasyExcel 3.0读(日期、数字或者自定义格式转换)

依赖

        <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version>
</dependency>

对象

package com.xiaobu.entity.vo;import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.format.NumberFormat;
import lombok.Data;import java.io.Serializable;
import java.util.Date;/*** @author tanhongwei1* @version 1.0.0* @className TestNumberData.java* @createTime 2023年08月31日 11:22:00*/
@Data
public class TestNumberData implements Serializable {private static final long serialVersionUID = 7783147140174424666L;private String name;// @ExcelProperty(converter = StringDoubleConverter.class)@NumberFormatprivate Double money;@DateTimeFormat("yyyy-MM-dd HH:mm:ss")// @ExcelProperty(converter = DateStringConverter.class)private Date employmentDate;
}

文件内容

test_number.xlsx

NAME	MONEY	EMPLOYMENT_DATE
隔壁老王	11.9	2023/8/30 14:36
隔壁老王	2	2023-08-30 14:36:07
隔壁老王	3	2023-08-30 14:36:07
隔壁老王	4	2023-08-30 14:36:07
隔壁老王	5.12	2023-08-30 14:36:07
隔壁老王	6	2023-08-30 14:36:07
隔壁老王	7	2023-08-30 14:36:07
隔壁老王	8	2023-08-30 14:36:07
隔壁老王	9	2023-08-30 14:36:07
隔壁老王	10	2023-08-30 14:36:07
隔壁老王	11	2023-08-30 14:36:07
隔壁老王	12	2023-08-30 14:36:08
隔壁老王	13	2023-08-30 14:36:09
隔壁老王	14	2023-08-30 14:36:10
隔壁老王	15	2023-08-30 14:36:11

读 代码

@Test
public void testNumber() {String fileName = "D:\\log\\test_number.xlsx";// 读取sheetEasyExcel.read(fileName, TestNumberData.class, new PageReadListener<TestNumberData>(dataList -> {for (TestNumberData data : dataList) {log.info("读取到一条数据{}", JSONUtil.toJsonStr(data));// bean.update(data);}log.info("【simpleUpdate】::dataList ==> 【{}】", dataList);})).sheet().doRead();}

相关文章:

EasyExcel3.0读(日期、数字或者自定义格式转换)

EasyExcel 3.0读(日期、数字或者自定义格式转换) 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version> </dependency>对象 package com.xiaobu.entity.vo;import …...

浅谈C++|STL之vector篇

一.vector的基本概念 vector是C标准库中的一种动态数组容器&#xff0c;提供了动态大小的数组功能&#xff0c;能够在运行时根据需要自动扩展和收缩。vector以连续的内存块存储元素&#xff0c;可以快速访问和修改任意位置的元素。 以下是vector的基本概念和特点&#xff1a; 动…...

微信、支付宝修改步数【小米运动】

简介 小米运动是一款流行的健身应用,可以记录用户的步数和运动数据。然而,有些用户希望能够修改步数,以达到一些特定的目的。本文将介绍一个Python脚本,可以帮助用户实现修改小米运动步数的功能。 正文 脚本介绍: 本脚本是一个Python脚本,用于修改小米运动步数。通过模…...

stu02-初识HTML

1.HTML概述 &#xff08;1&#xff09;HTML是Hyper Text Mark-up Language的首字母缩写。 &#xff08;2&#xff09;HTML是一种超文本标记语言。 &#xff08;3&#xff09; 超文本&#xff1a;指除了文字外&#xff0c;页面内还可以包含图片、链接、甚至音乐、视频等非文字元…...

软件测试7大误区

随着软件测试对提高软件质量重要性的不断提高&#xff0c;软件测试也不断受到重视。但是&#xff0c;国内软件测试过程的不规范&#xff0c;重视开发和轻视测试的现象依旧存在。因此&#xff0c;对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识&#xf…...

【深度学习】 Python 和 NumPy 系列教程(十二):NumPy详解:4、数组广播;5、排序操作

目录 一、前言 二、实验环境 三、NumPy 0、多维数组对象&#xff08;ndarray&#xff09; 多维数组的属性 1、创建数组 2、数组操作 3、数组数学 4、数组广播 5、排序操作 1. np.sort() 函数 2. np.argsort() 函数 3. ndarray.sort() 方法 4. 按列或行排序 5. n…...

CSS宽度问题

一、魔法 为 DOM 设置宽度有哪些方式呢&#xff1f;最常用的是配置width属性&#xff0c;width属性在配置时&#xff0c;也有多种方式&#xff1a; widthmin-widthmax-width 通常当配置了 width 时&#xff0c;不会再配置min-width max-width&#xff0c;如果将这三者混合使…...

浅谈C++|STL之string篇

一.string的基本概念 本质 string是C风格的字符串&#xff0c;而string本质是一个字符串 string和char * 区别 char * 是一个指针string是一个类&#xff0c;类内部封装了char *&#xff0c;管理这个字符串&#xff0c;是一个char * 型容器。 特点 string类内部封装了很多成…...

Kubernetes Dashboard安装部署

Kubernetes Dashboard安装部署 1. 下载Dashboard 部署文件2. 修改yaml配置文件3. 应用安装&#xff0c;查看pod和svc4. 创建dashboard服务账户5. 创建admin-user用户的登录密钥6. 登录6.1 使用token登录(1) 短期token(2) token长期有效 6.2 使用 Kubeconfig 文件登录 7.安装met…...

在Qt的点云显示窗口中添加坐标轴C++

通过摸索整理了三个方法&#xff1a; 一、方法1&#xff1a;//不推荐&#xff0c;但可以参考 1、通过pcl的compute3DCentroid()方法计算点云的中心点坐标&#xff1b; 函数原型如下&#xff1a; compute3DCentroid (const pcl::PointCloud<PointT> &cloud, Eigen…...

[密码学入门]凯撒密码(Caesar Cipher)

密码体质五元组&#xff1a;P,C,K,E,D P&#xff0c;plaintext&#xff0c;明文空间 C&#xff0c;ciphertext&#xff0c;密文空间 K&#xff0c;key&#xff0c;密钥空间 E&#xff0c;encrypt&#xff0c;加密算法 D&#xff0c;decrypt&#xff0c;解密算法 单表代换…...

uboot 顶层Makefile-make xxx_deconfig过程说明三

一. uboot 的 make xxx_deconfig配置 本文接上一篇文章的内容。地址如下&#xff1a;uboot 顶层Makefile-make xxx_deconfig过程说明二_凌肖战的博客-CSDN博客 本文继续来学习 uboot 源码在执行 make xxx_deconfig 这个配置过程中&#xff0c;顶层 Makefile有关的执行思路。 …...

c++中的多线程通信

信息传递 #include <iostream> #include <thread> #include <chrono> #include <mutex> #include <condition_variable> #include <queue> // 用于存储和同步数据的结构 struct Data {std::queue<std::string> messag…...

IO day7

1->x.mind 2-> A进程 B进程...

C语言之指针进阶篇(3)

目录 思维导图 回调函数 案例1—计算器 案例2—qsort函数 关于qsort函数 演示qsort函数的使用 案例3—冒泡排序 整型数据冒泡排序 回调函数搞定各类型冒泡排序 cmp_int比较大小 cmp传参数 NO1. NO2. 解决方案 交换swap 总代码 今天我们学习指针难点之回调函数…...

SQL7 查找年龄大于24岁的用户信息

描述 题目&#xff1a;现在运营想要针对24岁以上的用户开展分析&#xff0c;请你取出满足条件的设备ID、性别、年龄、学校。 用户信息表&#xff1a;user_profile iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543female20…...

vite搭建vue3项目

参考视频 1.使用npm搭建vite项目,会自动搭建vue3项目 npm create vitelatest yarn create vite2.手动搭建vue3项目 创建一个项目名称的文件夹执行命令&#xff1a;npm init -y 快速的创建一个默认的包信息安装vite: npm i vite -D -D开发环境的依赖 安装vue,现在默认是vue3.…...

Qt中表格属性相关操作,调整表格宽度高度自适应内容等

1 表格列宽设置 利用Qt designer设计&#xff0c;可以通过改变表头的列宽从而保证内容不会被遮盖&#xff0c;输入空格的方式增加表头的长度&#xff0c;比如表头为"Value"&#xff0c;则改成"Value "&#xff0c;可以扩展列默认的宽度&#xff0c;保证后面…...

NLP机器翻译全景:从基本原理到技术实战全解析

目录 一、机器翻译简介1. 什么是机器翻译 (MT)?2. 源语言和目标语言3. 翻译模型4. 上下文的重要性 二、基于规则的机器翻译 (RBMT)1. 规则的制定2. 词典和词汇选择3. 限制与挑战4. PyTorch实现 三、基于统计的机器翻译 (SMT)1. 数据驱动2. 短语对齐3. 评分和选择4. PyTorch实现…...

docker四种网络模式

文章目录 一.为什么要了解docker网络二.docker 网络理论三.docker的四类网络模式3.1 bridge模式3.2 host模式3.3 container模式3.4 none模式 四.bridge模式下容器的通信4.1 防火墙开启状态4.2 防火墙关闭状态 一.为什么要了解docker网络 当你开始大规模使用Docker时&#xff0…...

RootlessJamesDSP:无Root环境下的Android全局音频处理方案解析

1. 项目概述&#xff1a;在无根环境中驯服音频的“魔法师”如果你是一个对手机音质有追求的安卓用户&#xff0c;或者是一个喜欢折腾音频处理插件的玩家&#xff0c;那么你很可能听说过或者用过 JamesDSP。它是一款功能强大的音频处理引擎&#xff0c;能够通过复杂的算法&#…...

终极指南:如何在Windows上使用智能PPT计时器掌控演示时间

终极指南&#xff1a;如何在Windows上使用智能PPT计时器掌控演示时间 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 您是否曾在重要演讲中因为超时而尴尬收场&#xff1f;是否在商务汇报中因为时间把控不准而…...

Claude Code环境变量配置全解析:从入门到精通

1. 项目概述&#xff1a;Claude Code 环境变量配置生成器如果你和我一样&#xff0c;是 Claude Code 的深度用户&#xff0c;那你一定经历过这样的时刻&#xff1a;面对一个复杂的开发任务&#xff0c;想调整一下模型的思考深度&#xff08;Effort Level&#xff09;来平衡成本…...

统一AI编程助手配置:使用agent-anatomy提升开发效率与一致性

1. 项目概述&#xff1a;一个配置文件夹&#xff0c;统一所有AI编程助手如果你和我一样&#xff0c;日常开发中会同时使用Claude Code、Cursor、GitHub Copilot等多个AI编程助手&#xff0c;那你一定也经历过同样的烦恼&#xff1a;每个助手都需要自己独立的配置文件。今天要介…...

智能产品系统架构分析 - 智能办公系统架构分层

方向&#xff1a;方案分析、架构设计、模块分解 智能产品系统架构分析&#xff1a;智能办公系统架构分层。 对智能办公系统进行架构分层分析&#xff0c;给出实例、UML建模、项目结构等。 “智能产品系统架构分析&#xff1a;智能办公系统架构分层”。 包含设备控制、预约管…...

别再只会点灯了!用51单片机和继电器模块,做个智能插座控制台灯(附完整代码)

从点灯到智能家居&#xff1a;51单片机与继电器模块的实战进阶指南 当你已经能够熟练地用51单片机点亮LED灯时&#xff0c;是否想过将这些基础技能转化为实际生活中的实用工具&#xff1f;本文将带你跨越实验板与真实世界的鸿沟&#xff0c;用最常见的51单片机和继电器模块&…...

龙为权,凰为心:凰标守住文化最柔软的底线@凤凰标志

龙为权凰为心 中国文艺生态的双轨平衡宣言秩序权力与创作初心&#xff0c;一刚一柔&#xff0c; 如日月轮值&#xff0c;缺一不可。 龙标掌「权」&#xff0c;凰标守「心」&#xff0c; 双轨并行&#xff0c;方可让文化既筋骨强健&#xff0c;又血肉温润。一、龙标&#xff1a;…...

如何用bitsandbytes轻松实现PyTorch大模型量化:内存减半,性能不减

如何用bitsandbytes轻松实现PyTorch大模型量化&#xff1a;内存减半&#xff0c;性能不减 【免费下载链接】bitsandbytes Accessible large language models via k-bit quantization for PyTorch. 项目地址: https://gitcode.com/gh_mirrors/bi/bitsandbytes 你是否曾因…...

从用户态到内核态:Linux Hook技术的全景实践与攻防解析

1. Linux Hook技术入门&#xff1a;从概念到实践 第一次接触Hook技术是在十年前的一个安全分析项目中&#xff0c;当时需要监控某个可疑进程的行为。那时候我才明白&#xff0c;原来Linux系统里藏着这么多可以"截胡"程序执行的秘密通道。简单来说&#xff0c;Hook技术…...

IP核验证责任共担模型:从授权方到被授权方的实践策略

1. IP核验证的责任边界&#xff1a;一场持续多年的行业对话在SoC设计领域&#xff0c;IP核的集成与验证从来都不是一个轻松的话题。随着芯片设计复杂度的指数级增长&#xff0c;一个现代SoC中可能集成了数十甚至上百个来自不同供应商的IP核&#xff0c;从处理器、内存控制器到各…...