资源简介
poi读取大数据量excel文件,避免内存溢出,行级操作
根据本网站的资源修改的。
将一些类路径错误全部进行了修正。
另外,需要自己在类路径里,放spring-context.jar和spring-beans.jar包。
代码片段和文件信息
package com.telesound.dataimport;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.telesound.dataimport.util.BeanUtil;
import com.telesound.dataimport.util.StringUtil;
/**
* 数据导入列规则的封装类
* @author zhangchaofeng
* @version 1.0
* @date Sep 23 2011
*/
public class DataImportColumnRule{
private String id; //唯一标识,uuid
private Date createTime; //创建时间
private String tableRuleId; //data_import_table_rule表的主键
private boolean isPk; //是否主键
private String produceMethod; //生成方法
private boolean isUnique; //是否唯一,用来判定重复数据
private String columnName; //列名称
private String headerName; //对应excel列头
private boolean required; //是否必须导入
private String dataType; //数据类型,string/number/date
private String dateFormat; //日期格式
private int maxLength; //最大允许长度
private String produceMethodValue; //生成方法值
private String comments; //备注
private boolean fromList; //数据来源于列表
private String dataList; //数据列表
private boolean isDictionary; //是否属于字典
private String dicTableName; //字典表名称
private String dicTypeColumn; //字典类型列的名称
private String dicTypeValue; //字典类型值
private String dicRequiredColumn; //获取值的列名称
private String dicReferenceColumn; //参考值的列名称
private String dicCondition; //字典条件
private boolean enable; //是否有效
private String blank1;
private String blank2;
private String blank3;
private String blank4;
private String blank5;
@Override
public boolean equals(object obj) {
if(obj == null) {
return false;
} else {
if(obj instanceof DataImportColumnRule) {
DataImportColumnRule rule = (DataImportColumnRule)obj;
if(this.tableRuleId==null||(this.columnName==null&&this.headerName==null)){
return false;
}
if(this.tableRuleId .equals(rule.getTableRuleId()) && (this.columnName
.equals(rule.getColumnName())||this.headerName.equals(rule.getHeaderName()))) {
return true;
}
}
}
return false;
}
@Override
public int hashCode() {
return this.tableRuleId.hashCode()*this.columnName.hashCode()*this.headerName.hashCode();
}
public static Map getColumnRuleMap(String tableRuleId){
Map columnRules=new HashMap();
List args=new ArrayList();
args.add(tableRuleId);
String sql=“select id from data_import_column_rule where table_rule_id=? and enable=1 order by create_time asc“;
List columnRuleList=DBAccess.getManyMap(sql args);
for(int i=0;i Map info=(Map)columnRuleList.get(i);
DataImportColumnRule columnRule=getColumnRule(StringUtil.getString
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9138 2012-02-06 08:55 com\telesound\dataimport\DataImportColumnRule.java
文件 5814 2012-02-06 08:55 com\telesound\dataimport\DataImportTableRule.java
文件 23731 2012-02-06 08:55 com\telesound\dataimport\DBAccess.java
文件 10196 2012-02-06 08:55 com\telesound\dataimport\excel\Excel2003RowProcessor.java
文件 6117 2012-02-06 08:55 com\telesound\dataimport\excel\Excel2007RowProcessor.java
文件 1690 2012-02-06 08:55 com\telesound\dataimport\excel\ExcelProcessor.java
文件 409 2012-02-06 08:55 com\telesound\dataimport\excel\ExcelRowProcessor.java
文件 1099 2012-02-06 10:16 com\telesound\dataimport\excel\TestReadExcel.java
文件 641 2012-02-06 08:55 com\telesound\dataimport\excel\XCell.java
文件 641 2012-02-06 08:55 com\telesound\dataimport\excel\XRow.java
文件 25269 2012-02-06 08:55 com\telesound\dataimport\ExcelImporter.java
文件 274 2012-02-06 08:55 com\telesound\dataimport\exception\CellContentTooLongException.java
文件 253 2012-02-06 08:55 com\telesound\dataimport\exception\ColumnRuleNotFoundException.java
文件 292 2012-02-06 08:55 com\telesound\dataimport\exception\CustomProduceMethodNotFoundException.java
文件 362 2012-02-06 08:55 com\telesound\dataimport\exception\DataImportException.java
文件 278 2012-02-06 08:55 com\telesound\dataimport\exception\DataLengthOutofBoundException.java
文件 269 2012-02-06 08:55 com\telesound\dataimport\exception\DataTypeNotMatchException.java
文件 274 2012-02-06 08:55 com\telesound\dataimport\exception\DateFormatNotFoundException.java
文件 268 2012-02-06 08:55 com\telesound\dataimport\exception\DicItemNotFoundException.java
文件 292 2012-02-06 08:55 com\telesound\dataimport\exception\EmptyDefaultValueException.java
文件 265 2012-02-06 08:55 com\telesound\dataimport\exception\ErrorDataListException.java
文件 279 2012-02-06 08:55 com\telesound\dataimport\exception\ExcelExistSameColumnException.java
文件 271 2012-02-06 08:55 com\telesound\dataimport\exception\FromListNotFoundException.java
文件 290 2012-02-06 08:55 com\telesound\dataimport\exception\NoValueOfDictionaryElementException.java
文件 264 2012-02-06 08:55 com\telesound\dataimport\exception\NullCellValueException.java
文件 305 2012-02-06 08:55 com\telesound\dataimport\exception\TableRuleNotFoundException.java
文件 2997 2012-02-06 08:55 com\telesound\dataimport\FileUploader.java
文件 609 2012-02-06 08:55 com\telesound\dataimport\ImportLogger.java
文件 1064 2012-02-06 08:55 com\telesound\dataimport\ImportResult.java
文件 1193 2012-02-06 08:55 com\telesound\dataimport\producor\CameraIdProducor.java
............此处省略21个文件信息
评论
共有 条评论