这样的文章很多,但是我还是依然写一个,希望能够帮助到部分朋友
依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.3</version>
</dependency>
模板,我用的是E:\test\addSim003.xlsx:
首先需要一个数据实体:
package com.text;
import com.alibaba.excel.annotation.ExcelProperty;
/****************************************
* @Description 请使用一句话描述
* @Date 2024/1/30 11:23
* @Author admin
* @Version 0.0.0.0.0
****************************************/
public class DataDetail {
@ExcelProperty(index = 0)
private String imeiNumber;
@ExcelProperty(index = 1)
private String sv;
@ExcelProperty(index = 2)
private String clientType;
@ExcelProperty(index = 3)
private String deviceType;
@ExcelProperty(index = 4)
private String factoryName;
@ExcelProperty(index = 5)
private String useUnit;
@ExcelProperty(index = 6)
private String factoryDate;
@ExcelProperty(index = 7)
private String remark;
public String getImeiNumber() {
return imeiNumber;
}
public void setImeiNumber(String imeiNumber) {
this.imeiNumber = imeiNumber;
}
public String getSv() {
return sv;
}
public void setSv(String sv) {
this.sv = sv;
}
public String getClientType() {
return clientType;
}
public void setClientType(String clientType) {
this.clientType = clientType;
}
public String getDeviceType() {
return deviceType;
}
public void setDeviceType(String deviceType) {
this.deviceType = deviceType;
}
public String getFactoryName() {
return factoryName;
}
public void setFactoryName(String factoryName) {
this.factoryName = factoryName;
}
public String getUseUnit() {
return useUnit;
}
public void setUseUnit(String useUnit) {
this.useUnit = useUnit;
}
public String getFactoryDate() {
return factoryDate;
}
public void setFactoryDate(String factoryDate) {
this.factoryDate = factoryDate;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
数据生成及全量代码:
package com.text;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.excel.write.metadata.fill.FillConfig;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/****************************************
* @Description 请使用一句话描述
* @Date 2024/1/30 9:48
* @Author admin
* @Version 0.0.0.0.0
****************************************/
public class MainTest {
public static void main(String[] args) {
List<DataDetail> dataList = new ArrayList<>();
DataDetail d;
for (int i = 0; i < 50000; i++) {
d = new DataDetail();
d.setImeiNumber("100010001" + StringUtils.leftPad(String.valueOf(i), 6, "0"));
d.setFactoryDate("2024/1/2");
d.setSv("21");
d.setClientType("测试终端");
d.setDeviceType("B类设备");
d.setFactoryName("人民北路IMSI制造厂");
d.setUseUnit("通号通信");
d.setRemark(StringUtils.leftPad(String.valueOf(i), 6, "0"));
dataList.add(d);
}
String templatePath = "E:\\test\\addSim003.xlsx";
String outputPath = "E:\\test\\addSim004.xlsx";
try {
InputStream inputStream = new FileInputStream(templatePath);
OutputStream outputStream = new FileOutputStream(outputPath);
ExcelWriter ew = EasyExcel.write(outputStream).withTemplate(inputStream).build();
WriteSheet ws = EasyExcel.writerSheet().build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();
ew.fill(dataList, fillConfig, ws);
ew.finish();
outputStream.flush();
outputStream.close();
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最终生成文件,E:\test\addSim004.xlsx: