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

本文共 2596 字,大约阅读时间需要 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注解

  • 用于标记不需要转换的字段
  • 示例:
    @ExcelIgnore
    private 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/

你可能感兴趣的文章
OA系统多少钱?OA办公系统中的价格选型
查看>>
object detection错误之Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
查看>>
Objective-C之成魔之路【7-类、对象和方法】
查看>>
Objective-C享元模式(Flyweight)
查看>>
Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
查看>>
Objective-C实现1000 位斐波那契数算法(附完整源码)
查看>>
Objective-C实现2 个数字之间的算术几何平均值算法(附完整源码)
查看>>
Objective-C实现3n+1猜想(附完整源码)
查看>>
Objective-C实现9x9乘法表算法(附完整源码)
查看>>
Objective-C实现A-Star算法(附完整源码)
查看>>
Objective-C实现AffineCipher仿射密码算法(附完整源码)
查看>>
Objective-C实现all combinations所有组合算法(附完整源码)
查看>>
Objective-C实现all permutations所有排列算法(附完整源码)
查看>>
Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
查看>>
Objective-C实现An Armstrong number阿姆斯特朗数算法(附完整源码)
查看>>
Objective-C实现anagrams字谜算法(附完整源码)
查看>>
Objective-C实现ApproximationMonteCarlo蒙特卡洛方法计算pi值算法 (附完整源码)
查看>>
Objective-C实现area under curve曲线下面积算法(附完整源码)
查看>>
Objective-C实现armstrong numbers阿姆斯壮数算法(附完整源码)
查看>>
Objective-C实现atoi函数功能(附完整源码)
查看>>