gpt4 book ai didi

vba - 从 Excel VBA 将巨大数据集发布到 Web 服务

转载 作者:行者123 更新时间:2023-12-02 01:58:36 24 4
gpt4 key购买 nike

各位 Excel VBA 程序员大家好

我的 Excel 工作表中有一个很棒的宏,我在其中根据用户输入的行编译 XML - 之后它将 xml 发布到 Web 服务。

你可以看看我下面的代码 - 它相当简单:

Set XMLHttpRequest = New MSXML2.XMLHTTP    
With XMLHttpRequest
.Open "POST", URL, False
.setRequestHeader "Content-Type", "text/xml; encoding='utf-8'"
.setRequestHeader "Content-Length", strLength
.send strXML
End With

现在,当行数少于 200 行时,它效果很好,但当行数超过 1000 行时,它会超时。我发布的 XML 字符串非常大,我很确定这就是它超时的原因。

现在我的问题是,如何将这个超过 1.000 行、甚至可能超过 20.000 行的巨大数据集发布到 Web 服务?

到目前为止,我已经花了很多时间在网络上寻找可能的解决方案,但尚未找到处理此问题的方法。到目前为止我有以下想法来解决这个问题:

  • 将工作表复制到新工作簿,获取新工作簿的位置并将文件转换为 Base64 字符串,然后将整个文件发布到新的 .asmx 服务并使用 C# 代码处理“工作簿”。
  • 将巨大的字符串转换为某种字节数组,并将其发布到新的 .asmx Web 服务并处理 C# 代码。

我真的希望你们中有人能指出我正确的方向并帮助我解决这个问题?

最佳答案

不要将整个工作表作为单个对象发送,而是单独发送每一行。

这将需要修改您的网络服务以仅接受一行,而不是我猜测当前作为行数组发送的内容。

这将允许您处理任意数量的行,因为您在任何时间处理的最多正好是 1 行。

关于vba - 从 Excel VBA 将巨大数据集发布到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50983004/

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