使用Java esayexcel 编写导入excel
时间: 2023-11-05 11:15:49 浏览: 211
1. 引入依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.5</version>
</dependency>
```
2. 创建实体类
首先需要定义一个实体类,用于存储Excel中的数据。例如,我们要导入一个用户列表,可以定义一个User类,包含id、name、age三个属性。
```java
public class User {
private Long id;
private String name;
private Integer age;
// getter和setter方法省略
}
```
3. 编写导入Excel的代码
我们可以编写一个方法,用于读取Excel文件并解析数据。以下是一个简单的例子:
```java
public List<User> readExcel(String fileName) {
List<User> userList = new ArrayList<>();
try {
InputStream inputStream = new FileInputStream(fileName);
ExcelReader excelReader = new ExcelReader(inputStream, null, new AnalysisEventListener<User>() {
@Override
public void invoke(User user, AnalysisContext analysisContext) {
userList.add(user);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
});
excelReader.read();
} catch (Exception e) {
e.printStackTrace();
}
return userList;
}
```
以上代码的作用是读取Excel文件,并将解析出的每一行数据转换成User对象,然后添加到一个列表中。
4. 测试代码
我们可以编写一个简单的测试代码,用于测试刚刚编写的导入Excel的方法。
```java
public static void main(String[] args) {
String fileName = "user.xlsx";
List<User> userList = readExcel(fileName);
for (User user : userList) {
System.out.println(user.getId() + " " + user.getName() + " " + user.getAge());
}
}
```
以上代码的作用是读取名为"user.xlsx"的Excel文件,并输出每一个用户的ID、姓名和年龄。
完整的代码如下:
```java
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.metadata.Sheet;
import com.alibaba.excel.metadata.Table;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.support.ExcelTypeEnum;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class ExcelUtil {
public static void main(String[] args) {
String fileName = "user.xlsx";
List<User> userList = readExcel(fileName);
for (User user : userList) {
System.out.println(user.getId() + " " + user.getName() + " " + user.getAge());
}
}
public static List<User> readExcel(String fileName) {
List<User> userList = new ArrayList<>();
try {
InputStream inputStream = new FileInputStream(fileName);
ExcelReader excelReader = new ExcelReader(inputStream, null, new AnalysisEventListener<User>() {
@Override
public void invoke(User user, AnalysisContext analysisContext) {
userList.add(user);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
});
excelReader.read();
} catch (Exception e) {
e.printStackTrace();
}
return userList;
}
public static class User {
private Long id;
private String name;
private Integer age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
```
以上代码演示了如何使用Java easyexcel库读取Excel文件,并将数据转换成Java对象。可以根据实际需求,对代码进行修改和扩展。
阅读全文