0

我正在使用一个 (VB.NET) 站点,该站点在由另一位程序员创建和维护 5 年以上后交给我。该站点使用 Linq to XML 将文件生成为 Excel (2003) .xls 文件。

#Region "Download Excel"
    <Authorize()>
    Sub DownloadListForFile()
        Dim folder As String = ConfigurationManager.AppSettings("UserFiles") & "\" & UserId.ToString
        Dim file As String = "file.xls"
        Dim path As String = folder & "\" & file

        If Not (New IO.DirectoryInfo(folder)).Exists Then
            MkDir(folder)
        End If

        Dim xml = (New ReportsXML.GetXML).GetListForFile()
        xml.Save(path)

        Response.ContentType = "application/vnd.ms-excel"
        Response.Charset = ""
        Response.TransmitFile(path)
        Response.AddHeader("content-disposition", "filename=" & file)
        Response.End()
    End Sub

...

Function GetListForFile() As System.Xml.Linq.XDocument

...

Dim sml = <?xml version="1.0"?>
                  <?mso-application progid="Excel.Sheet"?>
                  <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
                      xmlns:o="urn:schemas-microsoft-com:office:office"
                      xmlns:x="urn:schemas-microsoft-com:office:excel"
                      xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
                      xmlns:html="http://www.w3.org/TR/REC-html40">

...ETC。

我们想让这个网站 100% 兼容 iPad,到目前为止,这是唯一阻碍我们的因素。(更改 ContentType 或扩展名不起作用。文件无法在 Excel 中打开,或者文件读取为 Numbers 中 XML 的纯文本。)

如果我们能找到一个可以将这些文件作为电子表格读取的应用程序,即使它是一个付费应用程序,我们也可以做到。如果可能的话,我宁愿找到一种方法使这些文件与 Numbers 和 Excel 兼容。

我已经搜索了所有内容,但似乎找不到完成此任务的方法。

4

0 回答 0