【问题标题】:Emulate Excel Web Query in .net在 .net 中模拟 Excel Web 查询
【发布时间】:2009-06-18 16:30:44
【问题描述】:

我需要在 .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

编辑 从服务器获取响应时出现错误

【问题讨论】:

    标签: asp.net vb.net excel


    【解决方案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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多