EasyExcel操作excel

maven依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>1.1.2-beta5</version>
</dependency>

java代码

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.metadata.Sheet;
import com.alibaba.excel.metadata.Table;

public class EasyExcelUtil {
    public static void main(String[] args) {
        // 文件输出位置
        String filePath = "E:\\360Downloads\\test.xlsx";
        String sheetName = "第一个Sheet";

        // 动态添加 表头 headList --> 所有表头行集合
        List<List<String>> headList = new ArrayList<List<String>>();
        // 第 n 行 的表头
        List<String> headTitle0 = new ArrayList<String>();
        List<String> headTitle1 = new ArrayList<String>();
        List<String> headTitle2 = new ArrayList<String>();
        List<String> headTitle3 = new ArrayList<String>();
        List<String> headTitle4 = new ArrayList<String>();
        headTitle0.add("姓名");
        headTitle0.add("姓名");  
        
        headTitle1.add("爱好");
        headTitle1.add("篮球");
        headTitle2.add("爱好");
        headTitle2.add("足球");
        
        headTitle3.add("手机号");
        headTitle3.add("手机号");
        headTitle4.add("QQ");
        headTitle4.add("QQ");

        headList.add(headTitle0);
        headList.add(headTitle1);
        headList.add(headTitle2);
        headList.add(headTitle3);
        headList.add(headTitle4);

        
        // 所有行的集合
        List<List<Object>> list = new ArrayList<List<Object>>();

        for (int i = 1; i <= 10; i++) {
            // 第 n 行的数据
            List<Object> row = new ArrayList<Object>();
            row.add("第" + i + "单元格");
            row.add("第" + i + "单元格");
            row.add("第" + i + "单元格");
            row.add("第" + i + "单元格");
            row.add("第" + i + "单元格");
            list.add(row);
        }
    }

    public static void writeExcel(String sheetName, String filePath, List<List<String>> headList, List<List<Object>> nrList) {
        try {
        	File parentFile = new File(filePath).getParentFile();
        	if (!parentFile.exists()) {
        		parentFile.mkdirs();
			}
            ExcelWriter excelWriter = EasyExcelFactory.getWriter(new FileOutputStream(filePath));
            // 表单
            Sheet sheet = new Sheet(1,0);
            sheet.setSheetName(sheetName);
            // 创建一个表格
            Table table = new Table(1);

            table.setHead(headList);

            excelWriter.write1(nrList,sheet,table);
            // 记得 释放资源
            excelWriter.finish();
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

EasyExcel是阿里巴巴开源的一款基于Java的高性能CSV/Excel数据导入导出工具,它允许开发者轻松地将CSV或Excel文件的数据映射到Java对象,然后保存或者读取这些对象。 EasyExcel支持流式读写,可以在处理大数据量时减少内存占用,提高性能。以下是使用EasyExcel生成Excel的一般步骤: 1. **添加依赖**:首先,需要在你的Maven或Gradle项目中添加EasyExcel的依赖。例如在Maven中: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>最新版本号</version> </dependency> ``` 2. **配置数据源**:创建一个Java对象,代表你要写入Excel的数据模型,例如用户信息类(User)。 3. **创建模板**:定义一个`DataSheet`,指定每行数据对应哪个对象属性,以及如何格式化单元格。例如: ```java @DataSheet(head = "姓名", value = "username") public User ExcelUserMapper { // ... 用户属性对应的getter方法 } ``` 4. **写入数据**:通过`Writer` API,将数据列表写入Excel文件: ```java List<User> userList = ...; // 要写入的对象列表 // 创建writer String outputPath = ...; // 输出的Excel文件路径 try (OutputStream outputStream = new FileOutputStream(outputPath)) { EasyExcel.write(outputStream).sheet("用户信息").doWrite(userList); } catch (IOException e) { e.printStackTrace(); } ``` 5. **执行操作**:最后,调用write方法执行写入操作,文件会被创建并在指定路径下保存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值