前言:公司让做一个导出数据到Excel的小工具,要求是用户前端输入sql语句,点击导出按钮之后,将数据导出到Excel,界面如图所示:文件下端显示导出的进度 遇到的问题: 1.使用NPOI进行Excel 的导出,使用XSSFWorkbook导出,这个类可以使每sheet条数超过十万条,使用HSSFWorkbook每个sheet只可以导出65535条数据. 2.导出数据时,创建新的线程进行导出,防止页面卡死不动. 3.在使用线程时,如果给线程方法传递参数,此示例中主要是通过 Thread t =…
Struts2 利用AJAX 导出大数据设置遮罩层 需求背景: 每次我们导出excel的时候 ,如果数据量很大,导出花费的时间会很长,页面却有没人任何反应,这个时候用户会认为系统有问题,要么关了页面,要么狂点导出.感知太差了~甚至用户误操作会导致服务器崩溃.所以我么我们需要通过进度条方式告知客户导出的进度.通过在导出过程中循环请求后台确认时候导出完毕来控制遮罩层在某个时候关闭. 解决办法: 之前反复用了N种方式都没有解决类似问题, 1.iframe 方式 最终拜拜 2.ajax 方式  ajax…
POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用.SXSSF通过限制内存中可访问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入会引起老一行的数据刷新到硬盘. 比如内存中限制行数为100,当行号到达101时,行号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存中删除,以此类推. rowAccessWindowSize代表指定的内存中缓存记录数,默认为100,此值可以通过 new SX…
在开发过程中经常会有需要将数据导出到 excel 的需求,当数据量很大,达到几万甚至几十万.几百万级别的时候,如何加快生成 excel 的速度呢?首先普及一下知识背景:Excel2003 及以下版本一张表最多支持 65536 行.256 列数据,所以要生成十万.百万级别数据就不能用 Excel2003 了:Excel2007 版本一张表最多支持1048576行,16384 列,基本可以满足百万级别以下的数据量级. 一般通过 poi 生成 excel 的方式如下:(原谅我以前没有研究过poi,就只…
maven 依赖 (版本必须一致,否则使用SXSSFworkbook 时程序会报错) <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> <dependency> <groupId>org.apache.poi<…
转载:http://www.cnblogs.com/gaizai/archive/2010/04/17/1714389.html SQL Server的导出导入方式有: 在SQL Server中提供了导入导出的界面操作. 在界面操作中又分[复制一个或多个表或视图的数据]和[编写查询以指定要传输的数据]两种模式,第一种是直接对表.视图进行全部字段.记录进行导出,而第二种就是可以通过SQL语句来控制导出导入的字段和行. 使用简单但有用的SQL脚本 中的[表复制]这里面的方法. 再一种就是在命令行中使…
利用MySQL数据库如何解决大数据量存储问题? 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存储大数据量的问题,主要是数据库中的两张历史数据表,一张模拟量历史数据和一张开关量历史数据表,这两张表字段设计的很简单(OrderNo,Value,DataTime).基本上每张表每天可以增加几千万条数据,我想问如何存储数据才能不影响检索速度呢?需不需要换oracle数据库呢?因为我是数据库方面的新手,希望可以说的详细一点,万分感谢!!?-0-#暂时可以先考虑用infobri…
另一篇文章http://www.cnblogs.com/tootwo2/p/8120053.html里面有xml的一些解释. 大数据量的excel一般都是.xlsx格式的,网上使用POI读写的例子比较多,但是很少提到读写非常大数据量的excel的例子,POI官网上提到XSSF有三种读写excel,POI地址:http://poi.apache.org/spreadsheet/index.html.官网的图片: 可以看到有三种模式: 1.eventmodel方式,基于事件驱动,SAX的方式解析ex…
代码如下: #region NPOI大数据量多个sheet导出 /// <summary> /// 大数据量多个sheet导出 /// </summary> /// <typeparam name="T">数据源实体类</typeparam> /// <param name="objList">数据源</param> /// <param name="fileName"…
原文:http://www.cnblogs.com/scy251147/archive/2012/01/08/2305319.html 由于之前利用Winform的ListView进行大数据量加载的时候,诟病良多,所以今天试着用WPF的ListView来做了一下,结果没有让我失望,我将一个拥有43000行,510列的csv文件导入到了ListView中,总共耗时在10s左右,并且在导入的过程中,软件界面上的提示信息一直在提示当前导入了多少条.在整个导入的过程中没有感觉到ListView的闪烁.…