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。

时间: 2024-10-17 09:37:07

java easyreport 导入excel、 txt 数据行列索引(四)的相关文章

java easyreport 导入excel、 txt 数据简单实现(一)

一直在看博客,却不知道怎么写,但是总是想写点什么,犹豫了两三天,决定还是写点东西吧,来和大家分享下. 今年上半年时候接到了一个需求,具体什么需求就不说了,要求导入excel数据,并提示每一行错误信息.接到手后,查看之前的导入excel报表的代码,发现只有初始化workBook和根据cell获取cell 字符串值得通用方法.觉得可利用的东西太少了,于是决定就构建一个通用的实现导入excel报表的工具包. 实现思路大致是这样的: 提供模板,模板包含读起始行.属性模板集合.读批次.校验出错中端. 添加

java easyreport 导入excel、 txt 数据txt按字节导入(七)

有时候导入txt文件不一定是采用分隔符方式导入,而是采用按字节.字符长度导入,比如银联对账文件. 导入txt数据 姓名 年龄科目分数 陈寻  12语文67 王老五12语文80 柯景腾13语文78 沈佳宜14语文88 王小贱15语文60 黄小仙12语文54 李大仁14语文76 程又青13语文58 方茴  12语文87 沈晓棠13语文89 林嘉茉14语文68 赵烨  14语文50 苏凯  12语文78 乔燃  13语文90 我们采用iso8859-1单字节编码读取文件数据,一个汉字占2字节. 导入d

java easyreport 导入excel、 txt 数据数据格式校验(六)

在大部分情况下我们需要对导入数据的内容.格式进行合法性验证,验证不通过需要我们提示错误信息. 导入xls数据内容 姓名 年龄 科目 分数 王老五 12 语文 80 柯景腾 13 语文 78 沈佳宜 14 语文 88 王小贱 15 语文 60 黄小仙 12 语文 54 李大仁 14 语文 76 程又青 13 语文 58 陈寻 12 语文 67 方茴 12 语文 87 沈晓棠 13 语文 89 林嘉茉 14 语文 68 赵烨 14 语文 50 苏凯 12 语文 78 乔燃 13 语文 90 我们需要

java easyreport 导入excel、 txt 数据关联集合置入对象(三)

接上一节,获取的Student关联的Teacher集合有且只有一个,如何置入多个呢. 自定义StudentMatcher实现MatchAbled方法 package matcher; import java.util.List; import java.util.Map; import model.Student; import com.easyReport.read.MatchAbled; public class StudentMatcher implements MatchAbled<St

java easyreport 导入excel、 txt 数据复合属性(二)

在导入报表的时候,经常会遇到对象属性是集合或数组形似的,如学生会有多个老师,那么这种属性是集合或数组形式的报表如何设置,以及导入呢. Teacher类 package model; public class Teacher { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; }

java easyreport 导入excel、 txt 数据批量读取(五)

有时候我们需要读的报表数据很大,这时候一次加载所有数据有可能会出现内存溢出,所以我们需要采用批量读取来实现. 导入数据test5.xls 姓名 年龄 科目 分数 王老五 12 语文 80 柯景腾 13 语文 78 沈佳宜 14 语文 88 王小贱 15 语文 60 黄小仙 12 语文 54 李大仁 14 语文 76 程又青 13 语文 58 陈寻 12 语文 67 方茴 12 语文 87 沈晓棠 13 语文 89 林嘉茉 14 语文 68 赵烨 14 语文 50 苏凯 12 语文 78 乔燃 1

Java版将EXCEL表数据导入到数据库中

1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls")); //获取该工作表中的第一个工作表 Sheet sheet=workBook.getSheet(0); //获取该工作表的行数,以供下面循环使用 int rowSize=sheet.getRows(); for(int i=0;i<rowSize;i++) { //编号 String

c#导入excel 绑定数据 repeat为例子

先读取Excel文件并存到dataset 1 public DataSet ExcelToDataTable(string filename, string strsheetname) 2 { 3 try 4 { 5 //源的定义 6 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Pro

使用jxls技术导入Excel模版数据(转自其他博客)

第一步:先确定好Excel导入的格式以及各表格字段值的含义 第二步:定义好解析的XML--videoConfig.xml <?xml version="1.0" encoding="UTF-8"?> <workbook> <worksheet name="Sheet1"> <section startRow="0" endRow="0"/> <loop