java使用EasyExcel导入导出excel
程序员文章站
2023-12-29 17:04:10
一、准备工作1、导包org.apache.poi
一、准备工作
二、了解注解
2、@excelproperty注解
3、@columnwith注解
4、@contentfontstyle注解
5、@contentstyle注解
6、@headfontstyle注解
7、excelignore注解
三、编码
一、准备工作
1、导包
<!-- poi 相关--> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi</artifactid> <version>3.17</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-ooxml-schemas</artifactid> <version>3.17</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-ooxml</artifactid> <version>3.17</version> </dependency> <!-- esayexcel 2.1.7 --> <dependency> <groupid>com.alibaba</groupid> <artifactid>easyexcel</artifactid> <version>2.1.7</version> </dependency>
二、了解注解
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<orderexcel> 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的详细内容,更多关于java 用easyexcel导入导出excel的资料请关注其它相关文章!
推荐阅读
-
java使用EasyExcel导入导出excel
-
EXCEL导入导出工具DataPieV3.7更新,大幅提升EXCEL导入ACCESS的
-
使用python将大量数据导出到Excel中的小技巧分享
-
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
-
使用PHP导入和导出CSV文件
-
(转)java Springboot富文本编辑器ueditor的内容使用itext5导出为pdf文件
-
JAVA中导出、导入EXCEL用到的方法和一些语句
-
java动态导出excel压缩成zip下载的方法
-
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
-
C#使用RenderControl将GridView控件导出到EXCEL的方法