easyexcel导入固定sheet_easyExcel简单excel导出以及多sheet页导出

本文介绍了Java中使用EasyExcel库进行Excel数据的导入和导出,相较于Apache POI,EasyExcel在大数据量时能有效避免内存溢出问题。文章详细展示了如何设置模型类、使用注解定义表头,并提供了单sheet页和多sheet页导出的示例代码,适合处理常规的Excel报表导出需求。
摘要由CSDN通过智能技术生成

Java 程序员在项目上一般会经常遇到解析数据、生成Excel的需求,比较流行的就是Apache poi框架了,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。esayExcel在大数据量的时候是一行一行的解析,不同于POI的一次性解析,这样避免了内存的溢出。

我推荐使用的是2.1.2版本,也是我之前使用的最新版。

官方文档的地址

https://github.com/alibaba/easyexcel

添加依赖

com.alibaba

easyexcel

2.1.2

使用方法(模板导出)

写一个dto作为模型,在属性的名称加上注解,作为表头显示在表格中。@ContentRowHeight 单元格行高 @ColumnWidth 单元格列宽 @HeadRowHeight 头的行高@ExcelProperty输出在表格的字段value值代表输出的值index代表是列数(列数是从0开始的所有第0列也就是第一列)@ExcelIgnore不输出在表格中的字段

import com.alibaba.excel.annotation.ExcelIgnore;

import com.alibaba.excel.annotation.ExcelProperty;

import com.alibaba.excel.annotation.format.DateTimeFormat;

import com.alibaba.excel.annotation.write.style.ColumnWidth;

import com.alibaba.excel.annotation.write.style.ContentRowHeight;

import com.alibaba.excel.annotation.write.style.HeadRowHeight;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;

import java.util.Date;

@ContentRowHeight(20)

@HeadRowHeight(30)

@ColumnWidth(25)

public class PayApplyExcelDto {

@ExcelProperty(

value = {"公司名称"},

index = 0

)

private String comName;

@ExcelProperty(

value = {"制单部门"},

index = 1

)

private String unitName;

@ExcelProperty(

value = {"申请编号"},

index = 2

)

private String applyNum;

@ExcelProperty(

value = {"付款类别"},

index = 3

)

private String typeCode;

@ExcelProperty(

value = {"付款类型"},

index = 4

)

private String detTypeCode;

@ExcelProperty(

value = {"合同号"},

index = 5

)

private String conNum;

@ExcelProperty(

value = {"供应商"},

index = 6

)

private String venName;

@ExcelProperty(

value = {"实际收款方"},

index = 7

)

@ColumnWidth(30)

private String actualVenName;

@ExcelProperty(

value = {"发票类型"},

index = 8

)

private String invoiceType;

@ExcelProperty(

value = {"申请人"},

index = 9

)

private String applicantName;

@ExcelProperty(

value = {"申请日期"},

index = 10

)

@DateTimeFormat("yyyy-MM-dd")

private Date applyDate;

@ExcelProperty(

value = {"申请金额"},

index = 11

)

private BigDecimal applyAmt;

@ExcelProperty(

value = {"汇率"},

index = 12

)

private BigDecimal rate;

@ExcelProperty(

value = {"发票币种"},

index = 13

)

private String invoCurrency;

@ExcelProperty(

value = {"付款币种"},

index = 14

)

private String payCurrency;

@ExcelProperty(

value = {"实际支付日期"},

index = 15

)

@DateTimeFormat("yyyy-MM-dd")

private Date actualDate;

@ExcelProperty(

value = {"状态"},

index = 16

)

private String status;

@ExcelProperty(

value = {"仓储接口状态"},

index = 17

)

private String interStatus;

@ExcelProperty(

value = {"

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值