java中的接口是类吗
865
2022-10-23
java使用EasyExcel导入导出excel
一、准备工作
1、导包
naOkWjx
二、了解注解
1、常用注解
字段注解
类注解
@ColumnWith(列宽)
@ColumnWidth(全局列宽)
@ExcelProperty(字段配置)
@HeadFontStyle(头样式)
@HeadRowHeight(标题高度)
@ContentFontStyle(内容字体http://样式)
@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旋转角度区间为-9090,07版本的Excel旋转角度区间为0180
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
//省略 向结果集里插入数据的操作
//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的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~