关于excel 中的数据导入数据库 、数据库中的数据导入的Excel 中的思考
2015-03-31 19:01
393 查看
前提:1)该应用部署在本地
2)内存有限 即一次性加载不了所有的数据
问题:当Excel 中的数据信息相当大时或者是当从数据库中查询出来的结果集很大时这种情况如何处理?
思考:由于内存有限,面对的又是大数据集,只有将原有的数据集进行分段处理
对于数据库中的数据导出到Excel中
对于Excel数据导入到数据库中通过行控制来加载数据信息,示例代码如下:
2)内存有限 即一次性加载不了所有的数据
问题:当Excel 中的数据信息相当大时或者是当从数据库中查询出来的结果集很大时这种情况如何处理?
思考:由于内存有限,面对的又是大数据集,只有将原有的数据集进行分段处理
对于数据库中的数据导出到Excel中
//1.创建一个工作表单 wwb = ExportExcel.createWorkBokk("XXXX",response); String[] array = null;//表头属性数组 int size = 1,index=0,sheet_index=0,head_index; Label label = null;//填写excel表头 WritableSheet ws = null; while(true)//开启大数据分段读取方案 { //通过数据库查询语句设定获取数据结果集的长度信息 if(sheet_index<=0||index>60000) { index = 0;//重置 列游标 ws = wwb.createSheet("sheet"+sheet_index, sheet_index); //创建sheet //添加表头数据 sheet_index++; index = 1;//重置 行游标 } //数据填充 size ++;//分页查询数据 if(this.isbreak||size>25)break; } wwb.write(); wwb.close();
对于Excel数据导入到数据库中通过行控制来加载数据信息,示例代码如下:
<pre class="java" name="code"><pre class="java" name="code">Workbook wb = Workbook.getWorkbook(file.getInputStream()); Sheet sheet = wb.getSheet(0); //设定行数 int num = 200; for(int i=0;i<sheet.getRows();i++) { //行数据处理 if(i!=0 && i%num ==0) //控制数据分段加载 { //做数据处理,例如插入到数据库,将原来的结果集清空,继续加载数据 } }
相关文章推荐
- 关于excel数据导入到数据库案例
- 关于利用heidiSQL或者sqlYog导入导出数据库和数据的问题(导出为excel再导入)
- [置顶] 关于C++、C#实现EXCEL数据库批量导入数据库万行以上数据效率问题
- 关于上传文件,以及Excel数据导入数据库
- ASP.NET关于对excel数据导入到数据库
- 关于EXCEL导入数据库的解决方法
- ASP.NET中数据库数据导入Excel并打印
- Asp.net中关于excel文件批量导入SQL Server数据表
- asp.net 中将数据库数据导入Excel时, 避免Excel的科学计数法使数据丢失.
- ASP.NET中数据库数据导入Excel并打印
- Delphi编程将数据库数据快速导入Excel
- 关于Excel中的数据如何导入到oracle数据库中.
- Delphi编程将数据库数据快速导入Excel
- 关于DataGrid 数据导入Excel乱码
- ASP.NET中数据库数据导入Excel并打印
- (原作)ASP.NET中数据库数据导入Excel并打印
- (原创)关于如何处理EXCEL( CSV)文件 导入数据库的解决方法!!
- jsp中将数据库中的数据导入到excel的实现
- ASP.NET中数据库数据导入Excel并打印(1)
- 从excel导入数据到数据库