这个表的字段如下,表是存在SqlServer里的Project(工程),ClassID(工程类别),GroupID(用户组ID),UserName(用户),PermissionValue(工程的权限)我要把它导出到Excel里,在Excel表里的列名是
GroupID,UserName,........
后面的列名是是由表里相应行的Project(值) & "_" & ClassID(值)组成,列无重复Excel表头设置好后,将SqlServer表中的GroupID,UserName读入,
再在Excel对应的Project(值) & "_" & ClassID(值)的列读入相应的PermissionValue (工程的权限)但是这个SqlServer表里的记录实在太多,导出的速度太慢(我用的是VB的ADO,通过简单的循环和判断将值填入)问下各位大虾有无更好的办法,速度更快的

解决方案 »

  1.   

    分批导出
    你生成的的Excel能正常打开吗?
      

  2.   

    你不会把10亿条记录都放到一个excel文件里吧,那样估计excel都会死的
    估算一下:10亿=1G,也就是平均一条记录有多少字节那么就有多少G的数据量...
      

  3.   

    反正肯定要分批导出
    可以通过查询分析器将查出的数据保存为excel文件
    select top 2000 GroupID,UserName,Project | "_" | ClassID | PermissionValue 
    from table1
    where ....
    这样看起来清晰一点
      

  4.   

    分批导,每个Excel 50k行 那么 10亿/50k=20k  需要分批20k次存储过程
     50k一查
      然后再 Openrowset一次50k导到一个Excel
      然后再 exec 自己
      直到10亿里面最后的一行结束估计只有这样才最快
      

  5.   

    还有,会产生20k个Excel文件, 的确汗死人!