在.net中模拟Excel Web查询

时间:2009-06-18 16:30:45

标签: asp.net vb.net excel

我需要在.net中模拟Excel Web查询下面是示例代码。当我尝试在.net中执行此操作时,我得到一个Error500,但是在Excel中它工作正常。关于我做错了什么的任何想法?当我将URI更改为普通网站时,它工作正常,并从页面返回html,这就是我所追求的。我想知道问题是否来自我试图返回数据表的事实

 Dim oHttpWebRequest As System.Net.HttpWebRequest
    Dim oStream As System.IO.Stream
    Dim sChunk As String
    oHttpWebRequest = (System.Net.HttpWebRequest.Create("http://somesite/foo.jsp"))
    Dim oHttpWebResponse As System.Net.WebResponse = oHttpWebRequest.GetResponse()
    oStream = oHttpWebResponse.GetResponseStream
    sChunk = New System.IO.StreamReader(oStream).ReadToEnd()
    oStream.Close()
    oHttpWebResponse.Close()

以下是Excel中的查询

WEB
1
http:/somesite/foo.jsp

Selection=DataTable
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False

修改 当我从服务器获取响应时,我收到错误

1 个答案:

答案 0 :(得分:1)

我发现了我遇到的问题。

我使用fiddler找出通过excel发送的标头,并将其与标题进行比较.net正在发送 http://www.fiddler2.com/Fiddler2/version.asp

我必须添加以下代码行来添加这两个标题才能使其正常工作

oHttpWebRequest.Headers.Add(HttpRequestHeader.Pragma, "no-cache")
oHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-us")