Excel 2007和SQL Server 2008R2之间的回写

时间:2012-02-20 17:52:50

标签: sql-server sql-server-2008 excel ssis excel-2007

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

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

我发现SSIS应该可以做到这一点,但如果我错过了一种更标准的连接方式,它可能会有点过分。

1 个答案:

答案 0 :(得分:1)

我已经使用了动态sql ..

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