Java使用easyExcel

1.导包
pom文件导入

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.6</version>
</dependency>

2


import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy;
import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy;
import java.net.URLEncoder;

public class expertUti{
 public static void export(HttpServletResponse response,List excelList,Class clazz,String fileName,String sheetName,Integer sheetNo){
        try {
            fileName = URLEncoder.encode("xxx.xlsx", "UTF-8");
            response.setHeader("content-Type", "application/vnd.ms-excel;charset=utf-8");
            response.addHeader("Content-Disposition", "attachment;filename=\"" + fileName+"\"");
            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
        
                    .registerWriteHandler(new SimpleRowHeightStyleStrategy((short)15,(short)15))
                    .registerWriteHandler(new SimpleColumnWidthStyleStrategy(30)) // 设置宽度
                    .build();
            WriteSheet sheetOrgTarget = EasyExcel.writerSheet(sheetNo, sheetName)
                    .head(clazz).build();
            excelWriter.write(excelList, sheetOrgTarget);
            excelWriter.finish();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
 }
### Java使用 EasyExcel 库的教程 #### 1. 易用性和功能概述 EasyExcel 是由阿里巴巴开源的一个用于处理 Excel 的轻量级框架,其核心优势在于能够有效减少内存消耗并支持大文件的数据解析。通过流式读取的方式,该库可以显著降低因一次性加载大量数据而导致的 OOM(Out of Memory)风险[^3]。 --- #### 2. Maven 依赖配置 为了在项目中引入 EasyExcel 功能,需先将其作为依赖项加入 `pom.xml` 文件: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.0-beta2</version> </dependency> ``` 上述代码片段展示了如何正确添加 EasyExcel 到基于 Maven 构建的 Java 工程中[^4]。 --- #### 3. 数据模型定义 在实际开发过程中,通常会创建一个类来映射 Excel 表格中的列结构。假设我们需要操作一份员工信息表,则可设计如下实体类: ```java import com.alibaba.excel.annotation.ExcelProperty; public class EmployeeData { @ExcelProperty("姓名") private String name; @ExcelProperty("年龄") private Integer age; @ExcelProperty("部门") private String department; // Getter 和 Setter 方法省略... } ``` 此部分说明了如何借助注解机制实现字段与 Excel 单元格之间的绑定关系[^2]。 --- #### 4. 写入 Excel 示例 以下是将一组对象写入到 Excel 文档的具体方法: ```java import com.alibaba.excel.EasyExcel; import java.util.ArrayList; import java.util.List; public class WriteExample { public static void main(String[] args) { String fileName = "employee_data.xlsx"; List<EmployeeData> data = new ArrayList<>(); data.add(new EmployeeData("张三", 28, "研发部")); data.add(new EmployeeData("李四", 34, "市场部")); EasyExcel.write(fileName, EmployeeData.class).sheet("Sheet1").doWrite(data); } } ``` 以上代码实现了向指定路径生成一个新的 Excel 文件,并填充相应的业务数据。 --- #### 5. 读取 Excel 示例 对于从已有 Excel 文件提取内容的需求,可以通过以下方式完成: ```java import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; public class ReadExample extends AnalysisEventListener<EmployeeData> { @Override public void invoke(EmployeeData employeeData, AnalysisContext analysisContext) { System.out.println(employeeData.toString()); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { System.out.println("所有数据已解析完毕!"); } public static void main(String[] args) { String fileName = "employee_data.xlsx"; EasyExcel.read(fileName, EmployeeData.class, new ReadExample()).sheet().doRead(); } } ``` 这里展示了一个监听器模式的应用场景——每当遇到一条记录时都会触发回调函数执行逻辑。 --- #### 总结 综上所述,EasyExcel 提供了一套简洁高效的 API 接口帮助开发者快速集成 Excel 操作能力至自己的应用程序之中。无论是简单的增删改查还是复杂的报表生成功能都能轻松应对。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值