C#中利用Excel的QueryTable导出数据确实很快,6万条的记录在P4CPU 1G内存的机器上大概15秒就可完成,差一点的也决不会超过1分钟,可当我要导出来的记录有上百万条的话,也就是超过了65536条记录,想将余下的导入Sheet2、Sheet3.....SheetN表时,QueryTalbe应该如何控制,求各位给个思路或算法!有实现的朋友给出C#源码最好。

解决方案 »

  1.   

    To:Edifier0709(腦袋重構中.....) 
    你是指首先Select Count(*) From table 
    然后 Count(*)/65536以決定分几個sheet,
    最后分次導入sheet1,sheet2....sheetN嗎?
    這樣的話,我想會不會又會影響效率,時間太長。最初我也是這樣想。
    繼續求個更好的思路!
      

  2.   

    看來沒有別的方法啦,好,就將本人的實現方法共享出來!請至如下鏈接查看實現:
    http://www.cnblogs.com/jinliangliu/archive/2006/08/18/480391.html
      

  3.   

    大于65536的数据,当然可以直接导出了!这样的功能我已经实现了,前段时间偶也写了个Excel管理类库,功能比你这个多一点点吧! 
    一直没时间整理,有时间整理一个贴到blog上吧!
    方法其它很简单,MS提供的类库上面有相关文档。
      

  4.   

    偶那个东东,由于时间关系,基本的导入导出等管理功能实现了,当然也包括你说的大于6W数据后的新增Sheet表等功能!
    但比起JExcelAPI还是差了很多。近期我会贴到我的blog上,你可以参考一下
    地址是:http://linfuguo.cnblogs.com
      

  5.   

    To linfuguo(林子) 
    JExcelAPI的資料在哪可以看到?
    給個鏈接好不?
      

  6.   

    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
      

  7.   

    你要的JExcelAPI网上很多,google一下大把的啊!
      

  8.   

    上周六Download JExcelAPI,好好研究一下,先結貼!