我有一个工作簿中有两个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。
当您从string2中的sheet2中获取XML时,您可以使用字符串替换并将“sheet2”替换为“sheet1”。 我们需要一个新的变量temp,因为字符串是不可变的。 – Hitsa00
thanks.hey它的工作。你发布它作为答案。 –