新增Excel导入导出实体单元测试类
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
* No deletion without permission, or be held responsible to law.
|
||||||
|
*/
|
||||||
|
package com.jeesite.test.utils.excel;
|
||||||
|
|
||||||
|
import com.jeesite.common.collect.ListUtils;
|
||||||
|
import com.jeesite.common.utils.excel.ExcelExport;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出Excel文件测试类
|
||||||
|
* @author ThinkGem
|
||||||
|
* @version 2025-10-21
|
||||||
|
*/
|
||||||
|
public class ExcelExportEntityTest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出测试
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) throws Throwable {
|
||||||
|
|
||||||
|
List<ExcelTestEntity> list = ListUtils.newArrayList();
|
||||||
|
for (int i = 1; i <= 50; i++) {
|
||||||
|
ExcelTestEntity e = new ExcelTestEntity();
|
||||||
|
e.setField1("test"+i);
|
||||||
|
e.setField2(123+i);
|
||||||
|
e.setField3(BigDecimal.valueOf(12345+i));
|
||||||
|
list.add(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
File classPath = new File(ExcelExportEntityTest.class.getResource("/").getFile());
|
||||||
|
String fileName = classPath.getParentFile().getAbsoluteFile() + "/export_entity.xlsx";
|
||||||
|
|
||||||
|
// 创建一个Sheet表,并导入数据
|
||||||
|
try(ExcelExport ee = new ExcelExport("表格1", ExcelTestEntity.class)){
|
||||||
|
ee.setDataList(list).writeFile(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Export success.");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
* No deletion without permission, or be held responsible to law.
|
||||||
|
*/
|
||||||
|
package com.jeesite.test.utils.excel;
|
||||||
|
|
||||||
|
import com.jeesite.common.utils.excel.ExcelImport;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入Excel文件测试类
|
||||||
|
* @author ThinkGem
|
||||||
|
* @version 2025-10-21
|
||||||
|
*/
|
||||||
|
public class ExcelImportEntityTest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入测试
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) throws Throwable {
|
||||||
|
|
||||||
|
File classPath = new File(ExcelExportTest.class.getResource("/").getFile());
|
||||||
|
String fileName = classPath.getParentFile().getAbsoluteFile() + "/export_entity.xlsx";
|
||||||
|
try(ExcelImport ei = new ExcelImport(fileName, 2, 0)){
|
||||||
|
List<ExcelTestEntity> list = ei.getDataList(ExcelTestEntity.class);
|
||||||
|
for (ExcelTestEntity e : list) {
|
||||||
|
System.out.print(e.getField1()+", ");
|
||||||
|
System.out.print(e.getField2()+", ");
|
||||||
|
System.out.print(e.getField3()+", ");
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Import success.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,8 +6,6 @@ package com.jeesite.test.utils.excel;
|
|||||||
|
|
||||||
import com.jeesite.common.utils.excel.ExcelImport;
|
import com.jeesite.common.utils.excel.ExcelImport;
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
* No deletion without permission, or be held responsible to law.
|
||||||
|
*/
|
||||||
|
package com.jeesite.test.utils.excel;
|
||||||
|
|
||||||
|
import com.jeesite.common.utils.excel.annotation.ExcelField;
|
||||||
|
import com.jeesite.common.utils.excel.annotation.ExcelFields;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel 测试数据实体
|
||||||
|
* @author ThinkGem
|
||||||
|
*/
|
||||||
|
public class ExcelTestEntity {
|
||||||
|
|
||||||
|
// 方式1:声明在字段上
|
||||||
|
@ExcelField(title = "字段1", align = ExcelField.Align.CENTER, sort = 10)
|
||||||
|
private String field1;
|
||||||
|
private Integer field2;
|
||||||
|
private BigDecimal field3;
|
||||||
|
|
||||||
|
// 方式2:声明在构造上
|
||||||
|
@ExcelFields({
|
||||||
|
@ExcelField(title = "字段2", attrName = "field2", align = ExcelField.Align.CENTER, sort = 20),
|
||||||
|
})
|
||||||
|
public ExcelTestEntity() {}
|
||||||
|
|
||||||
|
public String getField1() {
|
||||||
|
return field1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setField1(String field1) {
|
||||||
|
this.field1 = field1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getField2() {
|
||||||
|
return field2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setField2(Integer field2) {
|
||||||
|
this.field2 = field2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 方式3:声明在方法上
|
||||||
|
@ExcelField(title = "字段3", align = ExcelField.Align.CENTER, sort = 30)
|
||||||
|
public BigDecimal getField3() {
|
||||||
|
return field3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setField3(BigDecimal field3) {
|
||||||
|
this.field3 = field3;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||||
|
* No deletion without permission, or be held responsible to law.
|
||||||
|
*/
|
||||||
package com.jeesite.test.utils.word;
|
package com.jeesite.test.utils.word;
|
||||||
|
|
||||||
import com.jeesite.common.io.FileUtils;
|
import com.jeesite.common.io.FileUtils;
|
||||||
|
|||||||
Reference in New Issue
Block a user