将数据从Excel发送到网站

将数据从Excel发送到网站,excel,vba,Excel,Vba,我被要求制作一个宏,将Excel数据发送到一个网站。不应涉及任何数据库。在阅读了这个网站上的示例之后,我一直在尝试使用HTTPPOST。我制作了一个在localserver上运行的ASP.NET网页。在调试宏时,控件确实到达网页页面加载事件,但我无法看到那里的数据 有人能帮我找到我的错误吗 Excel代码: Sub SendData() ' ' SendData Macro ' Dim sdata As String sdata = "Abhh" ' Set objHTTP = Cre

我被要求制作一个宏,将Excel数据发送到一个网站。不应涉及任何数据库。在阅读了这个网站上的示例之后,我一直在尝试使用HTTPPOST。我制作了一个在localserver上运行的ASP.NET网页。在调试宏时,控件确实到达网页页面加载事件,但我无法看到那里的数据

有人能帮我找到我的错误吗

Excel代码:

Sub SendData()
'
' SendData Macro 
' 
Dim sdata As String 
sdata = "Abhh" 
' 
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") 
URL = "localhost:2782/Default.aspx?"; + sdata 
objHTTP.Open "POST", URL, False objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 
objHTTP.send ("") 
End Sub
C#代码

 using System; 
 using System.Data; 
 using System.Configuration; 
 using System.Collections; 
 using System.Web; 
 using System.Web.Security; 
 using System.Web.UI; 
 using System.Web.UI.WebControls; 
 using System.Web.UI.WebControls.WebParts; 
 using System.Web.UI.HtmlControls; 

 namespace Fetch 
 { 
      public partial class _Default : System.Web.UI.Page 
      { 
           protected void Page_Load(object sender, EventArgs e) 
           { 
                Label1.Text = Request.Url.Query;
                // I dont know where the data is in the Request object.(If it is there at all..) 
           } 
      } 
 }
谢谢


Abi

网站必须是标准网页吗?您不能将其发送到运行ASP.NET Web服务的“网站”吗


请参阅&关于如何编写webservice,然后阅读&关于如何通过VBA调用webservice

虽然我不能在Excel中给出一个确切的例子,但我非常确定Excel有一两个函数,可以使用GET请求从任何网站查找值。GET和POST请求之间的区别在于,在前者中,传递的所有数据都是URL字符串的一部分。假设Excel中的HTTP支持是基本的,我想使用GET请求,通过简单的字符串操作仔细地用数据构建URL,您的运气会更好。尽管我不知道确切的语法,但想象一下在单元格中的一个公式,如=lookuphtml(“&B2&”&var2=“&B3”),其中单元格B2和B3将包含您的变量值(您希望传递给脚本的值)。这假设接收端能够通过GET请求(而不仅仅是POST请求)接收数据。大多数体面的服务器端库都允许通过GET和POST请求传递数据,尽管YMMV。

我不是.NET的家伙,但它看起来非常像
URI。查询
只显示GET数据,因为POST数据不是URI的一部分


您可能希望在
sData
字符串中使用标准格式语法
name1=value1&name2=value2&…
,然后在服务器上使用
Request.form
根据示例

可以发布任何代码吗?您应该查看页面Init()而不是页面加载()Excel部分代码:-Sub-SendData()“”SendData Macro“Dim sdata As String sdata=“Abhh”'Set objHTTP=CreateObject(“MSXML2.ServerXMLHTTP”)URL=“?”+sdata objHTTP.Open“POST”、URL、False objHTTP.setRequestHeader“用户代理”、“Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.0)”objHTTP.send(“”)结束SubC#代码的一部分:-使用系统;使用系统数据;使用系统配置;使用系统集合;使用System.Web;使用System.Web.Security;使用System.Web.UI;使用System.Web.UI.WebControl;使用System.Web.UI.WebControl.WebParts;使用System.Web.UI.HTMLControl;namespace Fetch{public partial class\u Default:System.Web.UI.Page{protected void Page\u Load(object sender,EventArgs e){Label1.Text=Request.Url.Query;//我不知道数据在Request对象中的什么位置。(如果有..)},我不能发送附加到URL的数据,因为数据可能是巨大的,也可能是敏感的。。。感谢您抽出时间,但我无法通过将数据附加到URL(该URL正在工作)来发送数据,因为数据可能是巨大而敏感的。