【问题标题】:Export Excel to Asp.net that the Tablet will not open将 Excel 导出到平板电脑无法打开的 Asp.net
【发布时间】:2015-01-23 12:17:20
【问题描述】:

在我的函数中,我有以下说明:

grid.DataSource = dt
        grid.DataBind()

        Response.Clear()
        Response.AddHeader("content-disposition", "attachment; filename=Soste.xls")
        Response.AddHeader("Content-Type", "application/Excel")
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        Response.Charset = ""
        Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter
        Dim htmlWrite As New HtmlTextWriter(stringWrite)
        grid.RenderControl(htmlWrite)

        Dim html As String = stringWrite.ToString()
        Dim pattern As String = "(\p{Sc})?"
        Dim rgx As New System.Text.RegularExpressions.Regex(pattern)
        html = rgx.Replace(html, "")
        Response.Write(html)
        HttpContext.Current.Response.[End]()

其中 grid 是一个数据网格,我在其中发布要导出的数据。

在PC上没问题,但是当我尝试将数据导出到平板电脑(安卓或苹果)时,文件打不开。

请问:手机上也能打开吗?

非常感谢您的回复。

【问题讨论】:

  • 您能否将生成的“Soste.xls”文件的小样本上传到wikisend.com 之类的网站,然后将链接发布在此处的评论中,以便我们查看您的代码的文件类型正在生产吗?

标签: android asp.net vb.net excel


【解决方案1】:

您的问题的一个可能解释是您的代码实际上并未创建真正的 .xls 文件。相反,它会创建一个包含 HTML 表格的文本文件,并为该文件提供 .xls 扩展名:

Excel 能够像这样打开“假”.xls 文件(另一个例子是已重命名为 .xls 的 .csv 文件),但其他平台上的文件查看器/编辑器可能不那么适用。

如果您真的想生成 .xls 文件,那么您应该使用创建实际 .xls 文件的库。这里的另一个问题有一些建议:

Create Excel (.XLS and .XLSX) file from C#

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多