在Excel 2007和SQL Server 2008R2之间进行回写

在Excel 2007和MS SQL Server 2008 R2之间构build回写的最有效方法是什么?

我需要一个稳定的解决scheme来在Excel和SQL Server之间进行通信。 我需要从数据库中的表中下载数据,在Excel中计算并填写新数据,并将这些新值提交给数据库。

我发现SSIS应该能够做到这一点,但如果我错过了一个更标准的连接方式,可能会过度。

我已经使用dynamicSQL像这样..

SET @sQl='SELECT ID=ROW_NUMBER() OVER(ORDER BY F2), * into xlCitems FROM '+dbo.fsExcelODS(@XLSPATH,'CITEMS')+' WHERE DESCRIPTION IS NOT NULL' EXEC SP_EXECUTESQL @sql; 

标量函数dbo.fsexcelODS返回如定义的openDatasoure语句

 ALTER function [dbo].[fsExcelODS](@pathtods varchar(max),@sourceTable varchar(200))returns varchar(max)as begin return 'OpenDataSource('+dbo.fsQuoteString('Microsoft.ACE.OLEDB.12.0')+','+dbo.fsquoteString('Data Source='+dbo.fsdquotestring(@pathtods)+';Extended Properties="Excel 12.0;HDR=YES;IMEX=10"')+')...'+@sourcetable end