博客
关于我
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列名和列序号
  • value和index只能二选一
  • 通常不需设置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/

你可能感兴趣的文章
python写txt文件
查看>>
python关于sorted排序函数详细解析 附实战代码(全)
查看>>
python3.8调用m文件,调用matlab
查看>>
python3.9新特性_Python 3.9 新特性速览
查看>>
Python3.x:遍历select下拉框获取value值
查看>>
python360百科_11月编程排行榜:Python超过Java成第二
查看>>
Python关于Paginator分页函数详细解析 附实战代码
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
查看>>
python3与django中@property详解
查看>>
python3中如何表示无穷大
查看>>
Python3中提示:no module named 'wxpy'
查看>>
python3中选择文件对话框的格式打开和保存图片
查看>>
python3为什么print永远都是地址_Python3 print 函数用法总结
查看>>
Python3之uuid模块
查看>>
Python3之写入Excel文档(xlsxwriter)
查看>>
Python3之打印操作打印流重定向(下)
查看>>
python3判断字典、列表、元组为空以及字典是否存在某个key的方法
查看>>
Python3利用pymysql操作 MySQL
查看>>
python3处理json文件中含有中文dumps的应用
查看>>