首页 > 技术文章 > 读取Excel文件处理的方法

lazyli 2019-10-16 10:28 原文

从excel文件中处理数据的比较;
//出现内存溢出异常(操作4万条数据时出现内存溢出;需要分批处理;3万条数据1分钟;读取3.7万条数据花了73秒)
第一种方式:一次可处理3万多数据,
for(Row row : sheet) {
if (row.getRowNum() == 0) {
continue;//过滤标题行
}
ModelInfo modelInfo = ExcelToModelInfo.excelToModelInfo(row);
//插入数据
modelInfoMapper.insert(modelInfo);
System.out.println("插入第"+(++i)+"条数据");
}
System.out.println("插入3万条数据的时间:"+(System.currentTimeMillis()-beforeTime)+",毫秒");
//读取2万多就出现异常;
第二种方式:将Excel数据一次转换2万多条;内存占用内存较大
List<ModelInfo> list = ExcelToModelInfo.excelToModelInfoList(sheet);
for(ModelInfo modelInfo : list){
modelInfoMapper.insert(modelInfo);
System.out.println("插入第"+(++i)+"条数据");
}

推荐阅读