平顶山网站关键词优化,企业可以做哪些网站有哪些内容吗,徐州人才网,成都网站建设scyiyouEasyPOI复杂表格导入 多表头数据导入方式一导入表格实体类文件导入代码测试结果 方式二导入表格实体类文件导入代码测试结果 总结 设置表格从哪行读取表格内容 多表头数据导入
方式一
导入的表格样式如下
导入表格实体类
package com.demo.entity;import cn.afterturn.eas… EasyPOI复杂表格导入 多表头数据导入方式一导入表格实体类文件导入代码测试结果 方式二导入表格实体类文件导入代码测试结果 总结 设置表格从哪行读取表格内容 多表头数据导入
方式一
导入的表格样式如下
导入表格实体类
package com.demo.entity;import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;import java.io.Serializable;Data
public class SerailNum implements Serializable {/*** 序号*/Excel(name 序号)private String serialNum;
}
package com.demo.entity;import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;import java.io.Serializable;Data
public class BasicInfo implements Serializable {Excel(name 姓名)private String name;Excel(name 性别)private String gender;
}
package com.demo.entity;import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
import lombok.Data;import java.io.Serializable;Data
public class UserBO implements Serializable {ExcelEntity(name 序号)private SerailNum serailNum;ExcelEntity(name 基本信息)private BasicInfo basicInfo;
}
文件导入代码
package com.demo;import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.alibaba.fastjson2.JSON;
import com.demo.entity.UserBO;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;SpringBootTest
public class UserTest {Testpublic void testImport() throws Exception {ImportParams params new ImportParams();params.setTitleRows(1);//标题列占几行params.setHeadRows(1);//header列占几行// 字段真正值和列标题之间的距离 默认0行/***表格真正有值的行数离表格的标题列还差一行如果表格列下的第一行为表格的实际内容则不需要*设置 params.setStartRows(1);*/params.setStartRows(1);// 文件输入流读取数据InputStream inputStream new FileInputStream(C:\\Users\\16837\\Desktop\\test\\social.xls);ListUserBO userBOList ExcelImportUtil.importExcel(inputStream,UserBO.class,params);System.out.println(导入数据);System.out.println(userBOList);}
}
测试结果
控制台输出
方式二
导入表格实体类
package com.demo.entity;import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
import lombok.Data;import java.io.Serializable;Data
public class UserBO implements Serializable {Excel(name 序号)private String serialNum;Excel(name 姓名)private String name;Excel(name 性别)private String gender;
}
文件导入代码
package com.demo;import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.alibaba.fastjson2.JSON;
import com.demo.entity.UserBO;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;SpringBootTest
public class UserTest {Testpublic void testImport() throws Exception {ImportParams params new ImportParams();params.setTitleRows(1);//标题列占几行params.setHeadRows(1);//header列占几行// 字段真正值和列标题之间的距离 默认0行/***表格真正有值的行数离表格的标题列还差一行如果表格列下的第一行为表格的实际内容则不需要*设置 params.setStartRows(1);*/params.setStartRows(1);// 文件输入流读取数据InputStream inputStream new FileInputStream(C:\\Users\\16837\\Desktop\\test\\social.xls);ListUserBO userBOList ExcelImportUtil.importExcel(inputStream,UserBO.class,params);System.out.println(导入数据);System.out.println(userBOList);}
}
测试结果 总结
方式一和方式二不同之处在于导入表格实体的设计方式一是通过ExcelEntity来映射合并的表格列方式二是直接通过 Excel来映射要读取的表格列然后在导入的时候设置表格真正要读取的表格列和表格字段真正值从哪行读取
设置表格从哪行读取表格内容
通过ImportParams设置startRows