解决方案 »

  1.   

    你可以百度下“SQL Server 中OpenDataSource与OpenRowSet”
      

  2.   

    NPOI 导出到Excel比较快
    每个工作簿才6万多行,几十万行没必要导到excel吧
      

  3.   


    有想过NPOI,但是会有溢出情况,所以放弃了。。
    有时候确实需要导出那么多数据的,没办法。
      

  4.   

    把查询的结果逐个写入到EXCEL的每个CELL有它的好处比如数据库里的列名是英文,程序可以先翻译成中文.还有可以做一些自动运算,生成一些新的列再就是自己输出到EXCEL可以给单元格变颜色,这样异常数据看起来更直观.
      

  5.   

    还有我做过的一个应用是先给数据按类型分组,然后写入到EXCEL的不同工作簿中
      

  6.   

    http://blog.csdn.net/duanzi_peng/article/details/17414629
      

  7.   

    生成一个文本文件,内容为
    <table>
    循环--begin
    <tr><td>字段</td></tr>
    <tr><td>字段</td></tr>
    <tr><td>字段</td></tr>
    循环--end
    </table>然后用Excel打开
      

  8.   

    先用dataset 或datatable存起来,然后用文件流一行一行读到excel里面
      

  9.   


    你说的真是我需求的,我就是有这样的需求,所以才想办法解决如何快速导入到EXCEL,呵呵
    只是苦于找不到好点的办法
      

  10.   

    对于写入一大堆数据,只需要一句话sheett.Range["A1"].Resize[arr.GetLength(0), arr.GetLength(1)].Value2 = arr;
    其中arr是一个object[,]类型的数组。如果你分多个语句来为excel写入数据,那显然是成问题的。
      

  11.   

    如果对于20万行数据,你分成20万次跨.net进程和excel进程的DDE操作,甚至分成100万次的,这肯定成问题。本来一瞬间就完成的操作,你耗费了1分钟,这也许感觉不到损失。但是如果经常断掉,或者用户等得不耐烦,就不行了。
      

  12.   

    终于能上CSDN了,在公司登录一直说是爬虫网段被封,网页打不开
    比较喜欢sp1234对程序的理解,呵呵
    因为我也是程序使用者,你说的非常中肯,一分钟等待不单单是考验使用者,更是考验程序性能 本身。
      

  13.   

    如果数据量太大,其实可以考虑下每个sheet的数量,比如每个sheet6w笔资料,在数据库中就分开,然后用
    sheett.Range["A1"].Resize[arr.GetLength(0), arr.GetLength(1)].Value2 = arr;