java使⽤EasyExcel导⼊导出excel ⽬录
⼀、准备⼯作
1、导包
⼆、了解注解
1、常⽤注解
2、@ExcelProperty注解
3、@ColumnWith注解
4、@ContentFontStyle注解
5、@ContentStyle注解
6、@HeadFontStyle注解
7、ExcelIgnore注解
三、编码
1、映射实体类----例⼦
2、⽣成excel
四、结果
⼀、准备⼯作
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>
john howard
<!-- esayexcel 2.1.7 -->
角抵<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.7</version>
</dependency>
every moment of my life
⼆、了解注解
1、常⽤注解
字段注解类注解
qq英语名字@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字体颜⾊
typeOfft偏移量
underline下划线
bold是否加粗
chart编码格式
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设置字体颜⾊
typeOfft设置偏移量
underline设置下划线
chart设置字体编码
bold设置字体是否加粗
7、ExcelIgnore注解
不将该字段转换成Excel
三、编码
1、映射实体类----例⼦
package com.pingou.admin.bean.param;
import l.annotation.ExcelProperty;
college rulesimport l.annotation.format.DateTimeFormat;
import l.annotation.write.style.ColumnWidth;
import l.annotation.write.style.ContentRowHeight;
import l.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)
business travelprivate 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的资料请关注其它相关⽂章!