2017-04-05 27 views
2

我有一個工作簿中有兩個Excel表存儲在SFTPlocation。我需要從Excel工作表讀取數據並將數據轉換爲XML。該XML將傳遞給存儲過程並將該數據插入到表中。它運行良好,如果我有一張工作簿,但這個工作簿有兩個不同的Excel表,我需要在單個表中插入數據。當我從第一片材讀取數據我得到的XML是這樣我需要通過XML節點存儲過程爲兩個不同的Excel表

<NewDataSet> 
<Sheet1> 
</Sheet1> 
<Sheet1> 
</Sheet1> 
</NewDataSet> 

所以我使用存儲的過程,其中i需要通過上面的XML的XML節點。這就像我在這裏通過NewDataSet/Sheet1

SELECT DISTINCT 
'Product' = x.v.value('Product[1]','nvarchar(50)') 
into #TempTable 
from @XMLDataRecord.nodes('NewDataSet/Sheet1') x(v) 

所以這是第一張紙的整個過程。 當我從第二片材讀取我得到的XML是

<NewDataSet> 
<Sheet2> 
</Sheet2> 
<Sheet2> 
</Sheet2> 
</NewDataSet> 

現在,當此XML將被傳遞到存儲過程我需要此XML的XML節點傳遞到存儲過程作爲NewDataSet /圖紙2。問題是我將如何在存儲過程中傳遞NewDataSet/Sheet2,其中我應該第一次使用NewDataSet/Sheet1,然後動態地第二次使用NewDataSet/Sheet2。

+2

當您從string2中的sheet2中獲取XML時,您可以使用字符串替換並將「sheet2」替換爲「sheet1」。 我們需要一個新的變量temp,因爲字符串是不可變的。 – Hitsa00

+0

thanks.hey它的工作。你發佈它作爲答案。 –

回答

2

當您從string2中的sheet2中獲取XML時,您可以使用字符串替換並將「sheet2」替換爲「sheet1」。由於字符串是不可變的,我們需要一個新的變量temp。

相關問題