Excel导入和导出

本文详细介绍了如何在后端(使用Java)和前端(使用Vue)实现Excel的导入与导出功能。包括后台导出Excel到指定目录、读取Excel文件,以及前端在浏览器中导出Excel的实现方法。还提到了所需的依赖和关键代码示例。
摘要由CSDN通过智能技术生成

目录

首先在pom文件引入依赖

    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.0.5</version>
        </dependency>
    </dependencies>

后台代码实现导出excel文件到指定目录(导出)

先建一个dog类

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Dog {

//    index 表示这个属性是在excel的第几列(从0开始),value 表示在当前列的表头名称
    @ExcelProperty("狗编号")
    private Integer dogNo;
    @ExcelProperty("狗名称")
    private String dogName;
    @ExcelProperty("狗年龄")
    private Integer dogAge;


}

然后测试类

import com.alibaba.excel.EasyExcel;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Client {
    public static void main(String[] args) {
        //写入的路径
        String fileName = "D:\Dog.xlsx";
        EasyExcel.write(fileName,Dog.class).sheet("狗").doWrite(getLists());
    }

    //模仿从后台拿到一个Dog对象的集合 (我生成了5个一样的dog狗)
    public static List<Dog> getLists(){
        return Stream.generate(()->new Dog(2,"阿花",28)).limit(5).collect(Collectors.toList());
    }
}

运行之后会看到路径下有个Dog.xlsx文件,效果如下:
在这里插入图片描述

后台代码实现读指定目录的excel文件(导入)

创建EasyListener类

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import java.util.Map;

public class EasyListener extends AnalysisEventListener<Dog> {

    //一行一行读取excel内容
    @Override
    public void invoke(Dog dog, AnalysisContext analysisContext) {
        System.out.println("数据"+dog);
    }

    //读取表头内容
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头:"+headMap);
    }

    //读取完之后
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        System.out.println("我读完了");
    }


}

测试类代码:

public class Client {
    public static void main(String[] args) {
        //写入的路径
        String fileName = "D:\Dog.xlsx";
//        EasyExcel.write(fileName,Dog.class).sheet("狗").doWrite(getLists());

        EasyExcel.read(fileName,Dog.class,new EasyListener()).sheet("狗").doRead();
    }

    //模仿从后台拿到一个Dog对象的集合 (我生成了5个一样的dog狗)
    public static List<Dog> getLists(){
        return Stream.generate(()->new Dog(2,"阿花",28)).limit(5).collect(Collectors.toList());
    }
}

输出结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C# 中,你可以使用 Microsoft.Office.Interop.Excel 库来实现 Excel 文件的导入导出。以下是示例代码Excel 导入: ```csharp using Microsoft.Office.Interop.Excel; string filePath = "path/to/excel/file.xlsx"; Application excel = new Application(); Workbook workbook = excel.Workbooks.Open(filePath); Worksheet worksheet = workbook.Sheets[1]; // 读取数据 for (int i = 1; i <= worksheet.UsedRange.Rows.Count; i++) { for (int j = 1; j <= worksheet.UsedRange.Columns.Count; j++) { Range range = (Range)worksheet.Cells[i, j]; Console.Write(range.Value2.ToString() + "\t"); } Console.WriteLine(); } // 关闭连接 workbook.Close(); excel.Quit(); ``` 这个示例代码会打开名为 path/to/excel/file.xlsx 的 Excel 文件,并读取第一个工作表中的所有数据。你可以根据需要修改文件路径和工作表索引。 Excel 导出: ```csharp using Microsoft.Office.Interop.Excel; string filePath = "path/to/excel/file.xlsx"; Application excel = new Application(); Workbook workbook = excel.Workbooks.Add(); Worksheet worksheet = workbook.Sheets[1]; // 写入数据 for (int i = 1; i <= 10; i++) { for (int j = 1; j <= 5; j++) { Range range = (Range)worksheet.Cells[i, j]; range.Value2 = i * j; } } // 保存文件 workbook.SaveAs(filePath); workbook.Close(); excel.Quit(); ``` 这个示例代码会创建一个新的 Excel 文件,并在第一个工作表中写入一些数据。你可以根据需要修改文件路径和数据。注意,使用 SaveAs 方法保存文件时需要指定文件路径和文件格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值