使用Linq to XML输出Apple'Numbers'兼容的电子表格?

时间:2013-12-23 22:21:03

标签: xml vb.net linq apple-numbers

我正在使用一个(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">

...等

我们希望这个网站100%与iPad兼容,到目前为止,这是唯一让我们退缩的作品。 (更改ContentType或扩展名不起作用。文件不能在Excel中打开,或者文件读取为Numbers中XML的纯文本。)

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

我已经搜遍过,但似乎无法找到实现此目的的方法。

0 个答案:

没有答案