如何快速地将通过复杂计算的取得的数据集里的数导入事先定义的公式的excel中?
之前已经做好由数据集导入到已经定义好格式的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