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。



注:很不好意思上传附件的时候把字节码打包上传了,请到第六章节下载!


你可能感兴趣的:(java,报表导入,easyreport)