2012-02-20 87 views
1

在Excel 2007和MS SQL Server 2008 R2之間構建回寫的最有效方式是什麼?在Excel 2007和SQL Server 2008R2之間進行回寫

我需要一個穩定的解決方案來在Excel和SQL Server之間進行通信。我需要從數據庫中的表格下載數據,在Excel中計算並填寫新數據,並將這些新值提交給數據庫。

我發現SSIS應該能夠做到這一點,但如果我錯過了一個更標準的連接方式,它可能會矯枉過正。

+0

定義的計算和基於用戶輸入新數據?如果不是的話,當你可以在SQL Server中完成所有工作時,就可以毫無意義地進入excel – msmucker0527 2012-02-20 17:59:41

+0

這些數據是用戶定義的,不能用SQL中的邏輯來完成。 – Gerrit 2012-02-20 20:47:38

回答

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"')+')...'[email protected] 


end 
相關問題