Java怎么使用EasyExcel实现导入导出excel
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章主要介绍了Java怎么使用EasyExcel实现导入导出excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、准备工作1
千家信息网最后更新 2025年02月08日Java怎么使用EasyExcel实现导入导出excel一、准备工作
二、了解注解
2、@ExcelProperty注解
3、@ColumnWith注解
4、@ContentFontStyle注解
5、@ContentStyle注解
6、@HeadFontStyle注解
7、ExcelIgnore注解
三、编码
这篇文章主要介绍了Java怎么使用EasyExcel实现导入导出excel,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一、准备工作
1、导包
org.apache.poi poi 3.17 org.apache.poi poi-ooxml-schemas 3.17 org.apache.poi poi-ooxml 3.17 com.alibaba easyexcel 2.1.7
二、了解注解
1、常用注解
字段注解 | 类注解 |
---|---|
@ColumnWith(列宽) | @ColumnWidth(全局列宽) |
@ExcelProperty(字段配置) | @HeadFontStyle(头样式) |
@HeadRowHeight(标题高度) | |
@ContentFontStyle(内容字体样式) | |
@ContentRowHeight(内容高度) |
2、@ExcelProperty注解
必要的一个注解,注解中有三个参数value,index分别代表列明,列序号
value和index只能二选一,通常不用设置converter
1.value 通过标题文本对应
2.index 通过文本行号对应
@ExcelProperty(value = "编号", index = 0)private Long id;
3、@ColumnWith注解
设置列宽度,只有一个参数value,value的单位是字符长度,最大可以设置255个字符,因为一个excel单元格最大可以写入的字符个数就是255个字符
public class ImeiEncrypt { @ColumnWidth(value = 255) //excel单个单元格最大长度255 private String message;}
4、@ContentFontStyle注解
用于设置单元格内容字体格式的注解
参数 | 含义 |
---|---|
fontName | 字体名称 |
fontHeightInPoints | 字体高度 |
italic | 是否斜体 |
strikeout | 是否设置删除水平线 |
color | 字体颜色 |
typeOffset | 偏移量 |
underline | 下划线 |
bold | 是否加粗 |
charset | 编码格式 |
5、@ContentStyle注解
设置内容格式注解
参数 | 含义 |
---|---|
dataFormat | 日期格式 |
hidden | 设置单元格使用此样式隐藏 |
locked | 设置单元格使用此样式锁定 |
quotePrefix | 在单元格前面增加`符号,数字或公式将以字符串形式展示 |
horizontalAlignment | 设置是否水平居中 |
wrapped | 设置文本是否应换行。将此标志设置为true通过在多行上显示使单元格中的所有内容可见 |
verticalAlignment | 设置是否垂直居中 |
rotation | 设置单元格中文本旋转角度。03版本的Excel旋转角度区间为-90°90°,07版本的Excel旋转角度区间为0°180° |
indent | 设置单元格中缩进文本的空格数 |
borderLeft | 设置左边框的样式 |
borderRight | 设置右边框样式 |
borderTop | 设置上边框样式 |
leftBorderColor | 设置左边框颜色 |
rightBorderColor | 设置右边框颜色 |
topBorderColor | 设置上边框颜色 |
bottomBorderColor | 设置下边框颜色 |
fillPatternType | 设置填充类型 |
fillBackgroundColor | 设置背景色 |
shrinkToFit | 设置自动单元格自动大小 |
6、@HeadFontStyle注解
用于定制标题字体格式
参数 | 含义 |
---|---|
fontName | 设置字体名称 |
fontHeightInPoints | 设置字体高度 |
italic | 设置字体是否斜体 |
strikeout | 是否设置删除线 |
color | 设置字体颜色 |
typeOffset | 设置偏移量 |
underline | 设置下划线 |
charset | 设置字体编码 |
bold | 设置字体是否加粗 |
7、ExcelIgnore注解
不将该字段转换成Excel
三、编码
1、映射实体类----例子
package com.pingou.admin.bean.param;import com.alibaba.excel.annotation.ExcelProperty;import com.alibaba.excel.annotation.format.DateTimeFormat;import com.alibaba.excel.annotation.write.style.ColumnWidth;import com.alibaba.excel.annotation.write.style.ContentRowHeight;import com.alibaba.excel.annotation.write.style.HeadRowHeight;import lombok.Data;import java.math.BigDecimal;import java.util.Date;@Data@ContentRowHeight(35) //文本行高度@HeadRowHeight(40) //标题高度@ColumnWidth(40)public class OrderExcel { //设置excel表头名称 @ExcelProperty(value = "编号", index = 0) private Long id; @DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒") @ExcelProperty(value = "创建时间", index = 1) private Date createTime;}
以上是简单的举例,如果有更多属性自己逐个写就好,然后塞进该实体类就好~
2、生成excel
public void excel() { //欲导出excel的数据结果集 List excel = new ArrayList<>(); //省略 向结果集里插入数据的操作 //UUID生成唯一name String name = UUID.randomUUID().toString().replaceAll("-", "") + ".xlsx"; //实现excel写的操作 //1 设置写入文件夹地址和excel文件名称 String filename = "/路径" + name; JSONObject json = new JSONObject(); try { // 2 调用easyexcel里面的方法实现写操作 // write方法两个参数:第一个参数文件路径名称,第二个参数实体类class EasyExcel.write(filename, OrderExcel.class).sheet("名字").doWrite(excel); //上传到fastdfs上 不上传的话只有本机可以找到,在上面路径下生成excel File file = new File(filename); String path = fastDFSClient.upload(new FileInputStream(file), name, null); path = (this.fastdfsDomain + path); json.put("url", path); } catch (IOException e) { e.printStackTrace(); } finally { new File(filename).delete(); } }
感谢你能够认真阅读完这篇文章,希望小编分享的"Java怎么使用EasyExcel实现导入导出excel"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
注解
字体
单元
参数
样式
颜色
高度
名称
字符
文本
格式
内容
标题
篇文章
最大
含义
字段
实体
文件
编码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
内蒙古千果网络技术有限公司
数据库同义词识别功能
漳州直播带货软件开发
js结合数据库实现分页
软件开发框架设计软件
xbox服务器怎么选
怎样删除储存在微信服务器的文字
数据库中的索引的作用
网络安全主要包括哪些内容
初级软件开发实训需要做什么
思科软件服务器图标
计算机网络技术有软件吗
学网络安全信息化心得体会
明日方舟ios只有官方服务器吗
软件开发公司自评报告书
应用无线网络技术是什么
凌云诺服务器爆满还能不能挤进去
数据库 并发操作
科技与互联网热点
问道自己开个服务器多少钱
建立重点企业用工数据库
关于速建大赛的服务器手机版
偏关天气预报软件开发
电脑主机如何还原数据库
成都公司进销存软件开发
天津新一代软件开发五星服务
区块链为什么不能淘汰数据库
是主干网优选的网络技术
5g下一代网络技术
宽带连接服务器地址