博客
关于我
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/

你可能感兴趣的文章
Postgresql中的表结构和数据同步/数据传输到Mysql
查看>>
Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
查看>>
postgreSQL入门命令
查看>>
PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
查看>>
Qt开发——爱情公寓人事管理系统
查看>>
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
查看>>
Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入
查看>>
PostgreSQL在何处处理 sql查询之四
查看>>
postgresql基本使用
查看>>
PostgreSQL学习总结(10)—— PostgreSQL 数据库体系架构
查看>>
PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 15.8 如何成就数据库性能王者?
查看>>
PostgreSQL学习总结(13)—— PostgreSQL 目录结构与配置文件 postgresql.conf 详解
查看>>
PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
查看>>
PostgreSQL学习总结(2)—— PostgreSQL 语法
查看>>
PostgreSQL学习总结(3)—— PostgreSQL 数据类型
查看>>
Qt开发——圆面积计算器
查看>>
PostgreSQL学习总结(5)—— PostgreSQL table 创建与删除
查看>>
PostgreSQL学习总结(6)—— PostgreSQL 模式(SCHEMA)详解
查看>>
PostgreSQL学习总结(7)—— PostgreSQL 语句 INSERT INTO、SELECT、UPDATE、DELETE 等学习
查看>>