java easyreport 导入excel、 txt 数据行列索引(四)
姓名 | 年龄 | 科目 | 分数 | 教师姓名 | 教师性别 |
王老五 | 12 | 语文 | 80 | 张三丰 | 男 |
我们要求导入数据中不包含科目和分数。
导入demo TestExcelIndex类
package example;
import java.io.File;
import java.io.FileInputStream;
import java.util.List;
import java.util.Map;
import model.Student;
import test.AbstractExcelTest;
import com.easyReport.read.temp.PropertyTemp;
import com.easyReport.read.temp.ReadTemp;
import formater.SexFormater;
public class TestExcelIndex extends AbstractExcelTest<Student> {
@Override
public void test() {
FileInputStream fileInputStream;
try {
fileInputStream = new FileInputStream(new File("testFile/test4.xls"));
testReadBean(fileInputStream);
// testReadMap(fileInputStream);
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected ReadTemp bulidReadTemp() {
ReadTemp readTemp = new ReadTemp(1);
readTemp.addPropertyTemp(new PropertyTemp("姓名", "name"));
readTemp.addPropertyTemp(new PropertyTemp("年龄", "age"));
readTemp.addPropertyTemp(new PropertyTemp("教师姓名", "teachers.name",4));
readTemp.addPropertyTemp(new PropertyTemp("教师性别", "teachers.sex",new SexFormater()));
return readTemp;
}
@Override
protected void writeBeanList(List<Student> modelLists) {
System.out.println("--------------bean---------------");
for (Student s : modelLists) {
System.out.println(s.getName() + "|"
+ s.getAge()+"|"+s.getTeachers().get(0));
}
}
@Override
protected void writeMapList(List<Map<String, Object>> mapLists) {
System.out.println("--------------map---------------");
for (Map<String, Object> m : mapLists) {
System.out.println(m.get("name") + "|" + m.get("age")+
"|"+m.get("teachers.name")+"|"+m.get("teachers.sex"));
}
}
}
运行结果:
--------------bean---------------
王老五|12|张三丰|M
readTemp.addPropertyTemp(new PropertyTemp("教师姓名", "teachers.name",4));
PropertyTemp构造方法可指定单元格索引,默认为0
public PropertyTemp(String title, String propertyName, Integer cellIndex) {
super();
this.title = title;
this.propertyName = propertyName;
this.cellIndex = cellIndex;
}
readTemp.addPropertyTemp(propertyTemp);
每添加一个属性模板,若没有指定索引值,单元格索引值自动加一,若指定索引值小于等于前面单元格索引,还是会自动加1。
ReadTemp readTemp = new ReadTemp(1);
指定读取行索引为1,即从第2行开始读取数据,不指定默认为0。
本文出自 “菜鸟博博” 博客,请务必保留此出处http://zhangxiao2.blog.51cto.com/6342789/1586568
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。