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

你可能感兴趣的文章
os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
查看>>
os.system 在 Python 中不起作用
查看>>
OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
查看>>
OSCACHE介绍
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
查看>>
SQL--mysql索引
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>
OSChina 周日乱弹 —— 2014 年各种奇葩评论集合
查看>>
OSChina 技术周刊第十期,每周技术抢先看!
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
查看>>
osgearth介绍
查看>>
OSGi与Maven、Eclipse PlugIn的区别
查看>>
Osgi环境配置
查看>>
OSG——选取和拖拽
查看>>
OSG中找到特定节点的方法(转)
查看>>
OSG学习:C#调用非托管C++方法——C++/CLI
查看>>
OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
查看>>
OSG学习:OSG组成(二)——渲染状态和纹理映射
查看>>