您的位置:首页技术文章
文章详情页

java使用EasyExcel导入导出excel

【字号: 日期:2022-05-22 11:02:51浏览:32作者:猪猪
目录一、准备工作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><!-- 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只能二选一,通常不用设置converter1.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生成唯一nameString 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
相关文章: