博客
关于我
java使用EasyExcel导入导出excel
阅读量:608 次
发布时间:2019-03-13

本文共 2546 字,大约阅读时间需要 8 分钟。

使用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

2. 了解注解

常用注解

字段注解 类注解
@ColumnWith(列宽) @ColumnWidth(全局列宽)
@ExcelProperty(字段配置) @HeadFontStyle(头样式)
@HeadRowHeight(标题高度) @ContentFontStyle(内容字体样式)
@ContentRowHeight(内容高度) @ExcelProperty注解

@ExcelProperty注解

  • 必须注解,用于设置Excel列名和列序号
  • valueindex只能二选一
  • 通常不需设置converter
  • 示例:
    @ExcelProperty(value = "编号", index = 0)private Long id;

@ColumnWith注解

  • 用于设置单元格列宽
  • 字符长度最大为255
  • 示例:
    @ColumnWidth(value = 255)private String message;

@ContentFontStyle注解

  • 用于设置单元格内容字体样式
  • 包含多个参数配置字体格式
  • 示例:
    @ContentFontStyle(    fontName = "微软雅黑",    fontHeightInPoints = 12,    italic = true,    color = "000000")private String content;

@ContentStyle注解

  • 用于设置单元格内容格式
  • 包含多种格式参数
  • 示例:
    @ContentStyle(    dataFormat = "yyyy-MM-dd HH:mm:ss",    hidden = false,    locked = true)private Date date;

@HeadFontStyle注解

  • 用于设置标题字体格式
  • 包含与@ContentFontStyle相同的参数
  • 示例:
    @HeadFontStyle(    fontName = "微软雅黑",    fontHeightInPoints = 14,    italic = false)//标题字段private String title;

@ExcelIgnore注解

  • 用于标记不需要转换的字段
  • 示例:
    @ExcelIgnoreprivate List
    ignoredList;

二、编码

1. 实体类映射示例

@Data@ColumnWidth(40)@HeadRowHeight(40)public class OrderExcel {    @ExcelProperty(value = "编号", index = 0)    private Long id;    @ExcelProperty(value = "创建时间", index = 1)    @DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒")    private Date createTime;}

2. 生成Excel文件

public void exportExcel() {    List
excelList = new ArrayList<>(); // 生成唯一文件名 String fileName = UUID.randomUUID().toString().replaceAll("-", "") + ".xlsx"; String filePath = "/path/to/excel/" + fileName; try { // 使用EasyExcel写入Excel EasyExcel.write(filePath, OrderExcel.class) .sheet("订单表") .doWrite(excelList); // 上传到FastDFS FileInputStream fileInputStream = new FileInputStream(new File(filePath)); String uploadedPath = fastDFSClient.upload(fileInputStream, fileName, null); String url = fastDFSDomain + uploadedPath; JSONObject response = new JSONObject(); response.put("url", url); // 删除本地文件 new File(filePath).delete(); } catch (IOException e) { e.printStackTrace(); }}

三、结果

通过以上方法,您可以轻松完成Excel数据的导入与导出工作。EasyExcel 提供了强大的格式化和样式控制功能,使开发更加简便。

转载地址:http://qmuaz.baihongyu.com/

你可能感兴趣的文章
php 放大镜,放大镜放大图片效果
查看>>
PHP 数据库连接池实现
查看>>
php 数组 区别,PHP中数组的区别
查看>>
PHP 数组怎么添加一个元素
查看>>
PHP 文件操作
查看>>
php 文字弹幕效果代码,HTML5文字弹幕效果
查看>>
php 时间日期函数,获取今天开始时间,结束时间
查看>>
php 标准规范
查看>>
PHP 浮点型精度运算相关问题
查看>>
php 浮点型计算精度问题
查看>>
php 特定时间段统计,jpgraph某个时间段的数据统计
查看>>
php 生成csv mac下乱码
查看>>
php 生成证书 签名及验签
查看>>
PHP 的标准输入与输出
查看>>
php 笔记 (早前的,很乱)
查看>>
PHP 第一天
查看>>
Redis使用量暴增,快速定位有哪些大key在作怪
查看>>
PHP 统计数据功能 有感
查看>>
SpringBoot处理JSON数据
查看>>
PHP 输入输出流合集
查看>>