gpt4 book ai didi

c# - 我需要将 XML 节点传递给两个不同的 Excel 工作表的存储过程

转载 作者:行者123 更新时间:2023-11-30 23:14:15 25 4
gpt4 key购买 nike

我有一个工作簿,其中有两个 Excel 工作表存储在 SFTPlocation 中。我需要从 Excel 工作表中读取数据并将该数据转换为 XML。该 XML 将传递给存储过程并将该数据插入表中。如果我在工作簿中有一张工作表,它运行良好,但该工作簿有两个不同的 excel 工作表,我需要在单个表中插入数据。当我从第一张表中读取数据时,我得到的 XML 是这样的

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

所以我在需要传递上述 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/Sheet2 传递给存储过程。问题是我将如何在存储过程中传递 NewDataSet/Sheet2,在存储过程中我应该第一次采用 NewDataSet/Sheet1,然后第二次动态采用 NewDataSet/Sheet2。

最佳答案

当您从字符串中的 sheet2 获取 XML 时。您可以使用字符串替换并将“sheet2”替换为“sheet1”。像这样 ||string temp = xml.Replace(“sheet1”, “sheet2”)||我们需要一个新的变量 temp,因为字符串是不可变的。

关于c# - 我需要将 XML 节点传递给两个不同的 Excel 工作表的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43222615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com