Excel的QueryTable导出海量数据

nate_liu 2006-08-18 01:00:25
C#中利用Excel的QueryTable导出数据确实很快,6万条的记录在P4CPU 1G内存的机器上大概15秒就可完成,差一点的也决不会超过1分钟,可当我要导出来的记录有上百万条的话,也就是超过了65536条记录,想将余下的导入Sheet2、Sheet3.....SheetN表时,QueryTalbe应该如何控制,求各位给个思路或算法!有实现的朋友给出C#源码最好。
...全文
387 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nate_liu 2006-08-21
  • 打赏
  • 举报
回复
上周六Download JExcelAPI,好好研究一下,先結貼!
linfuguo 2006-08-19
  • 打赏
  • 举报
回复
你要的JExcelAPI网上很多,google一下大把的啊!
linfuguo 2006-08-19
  • 打赏
  • 举报
回复
TO:jinliangliu(精浪)
速度比你这个要快,你的6w需要15s,我的5w只需要7s,看下面是我的测试数据:

五、性能测试
环境:WindowsXP、Pentium(R)4 CPU 2.8GHZ、512MB内存。
Excel单文件追加测试结果:
数据量 时间
5W 7S
15W 26S
25W 41S
40W 59S
50W 1:24S
60W 1:39S
60W 1:52S
100W 3:27S
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
To:Edifier0709(腦袋重構中.....)
你是指首先Select Count(*) From table
然后 Count(*)/65536以決定分几個sheet,
最后分次導入sheet1,sheet2....sheetN嗎?
這樣的話,我想會不會又會影響效率,時間太長。最初我也是這樣想。
繼續求個更好的思路!
暗石绿 2006-08-18
  • 打赏
  • 举报
回复
mark
Edifier0709 2006-08-18
  • 打赏
  • 举报
回复
判断一下记录数,每次针对65535条数据进行处理
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
還有,導出時的速度如何?
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
To linfuguo(林子)
JExcelAPI的資料在哪可以看到?
給個鏈接好不?
blackhero 2006-08-18
  • 打赏
  • 举报
回复
ForPoint可以.
linfuguo 2006-08-18
  • 打赏
  • 举报
回复
偶那个东东,由于时间关系,基本的导入导出等管理功能实现了,当然也包括你说的大于6W数据后的新增Sheet表等功能!
但比起JExcelAPI还是差了很多。

近期我会贴到我的blog上,你可以参考一下
地址是:http://linfuguo.cnblogs.com
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
等你的Excel管理類庫出來!
linfuguo 2006-08-18
  • 打赏
  • 举报
回复
大于65536的数据,当然可以直接导出了!

这样的功能我已经实现了,前段时间偶也写了个Excel管理类库,功能比你这个多一点点吧!
一直没时间整理,有时间整理一个贴到blog上吧!
方法其它很简单,MS提供的类库上面有相关文档。
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
此貼暫留几天,求個更佳的解決方案,思路﹑算法也成!
nate_liu 2006-08-18
  • 打赏
  • 举报
回复
看來沒有別的方法啦,好,就將本人的實現方法共享出來!請至如下鏈接查看實現:
http://www.cnblogs.com/jinliangliu/archive/2006/08/18/480391.html

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧