之前已经做好由数据集导入到已经定义好格式的excel的功能,不知因为excel中定义的公式比较多,还是数据通过很复杂的sql语句取出来的,现在只是导出几条数据,都要等待1分钟这样。我注意到数据导出excel时,写入excel的速度非常的慢,同时界面上鼠标的图标显示是sql查询图标。我有些不明白的是,我的数是通过sql语句取到数据集的,取到数据集后,再导入excel中。为什么导入excel时,界面上还会显示鼠标的图标显示是sql查询图标,难道每导入一个单元格里的记录,都会重新执行一次sql语句,所以才这么慢吗?另外,我也尝试用文件流的形式写入excel中,可是不知道怎么可以写入已经定义的格式的excel,每次都是覆盖式的写入,所以也没有采用文件流的办法。希望做过类似功能的各位,能指点一下,谢谢.我的excel是以CreateOleObject建立的。是导入固定的位置我事先定义好公式的excel文件来进行写数操作。取数据集的sql语句涉及了临时表和动态查询.(不知对导数是否有影响)SELECT * INTO #TM 
FROM  
(SELECT ...
  UNION ALL   
SELECT ...  
UNION ALL   
SELECT ...
UNION ALL   
...) A  
DECLARE   @SQL   VARCHAR(8000)    
  SET   @SQL   =   .......'    
  SELECT   @SQL   =   @SQL   +   ',...'+'''' 
  FROM   (...)   AS   A    
  SELECT   @SQL   =  @SQL  +   '   .....'   
EXEC(@SQL)
  
DROP TABLE #TM