【问题标题】:How to deliver an Excel spreadsheet over Web Service如何通过 Web 服务交付 Excel 电子表格
【发布时间】:2009-04-20 09:31:17
【问题描述】:

是否可以通过 Web 服务提供 Excel 电子表格。我相信不是因为 ASP.NET Web 服务似乎只处理 excel 二进制格式不是的可序列化元素(我认为)。如果 Excel 以 XML 格式保存,这可以吗?

我有许多将通过电子邮件发送的报告,但已提出请求,允许通过 Web 服务提取这些报告。

这可以实现吗?

【问题讨论】:

  • 有什么样的客户?或者基于 http/authenticate 的下载呢?

标签: asp.net vb.net web-services


【解决方案1】:

是的。您可以在服务器上将 excel 文件作为内存流打开,然后将它们作为字节 [] 流式传输到客户端/消费者。然后客户端可以将文件流保存回本地机器。

MS 有一篇关于它的知识库文章。

http://support.microsoft.com/kb/318425

【讨论】:

    【解决方案2】:

    我不会尝试。 Excel 电子表格有大量与格式化等相关的开销。我很想只通过网络发送数据。如果它绝对必须是接收端的电子表格,那么更多的编码可以这样格式化数据。

    另一种替代方法是让电子表格文件可供直接下载。您托管 Web 服务的事实意味着您正在使用某种 Web 服务器,因此 WebClient.DownloadFile 应该可用。然后,您的 Web 服务可以提供最新文件的 URL。

    *edit - 如果您仍然愿意,下面 Eoin Campbell 的回答将允许您选择自己喜欢的路线。

    【讨论】:

      【解决方案3】:

      您可以通过使用 base64 或其他一些替代方法将 excel 文件转换为 mime 编码字符串来序列化它。

      在电子邮件中嵌入附件的方式相同。

      当然,客户端需要知道它需要一个 mime 编码的字符串,以及使用哪种解码类型

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 2011-11-22
        相关资源
        最近更新 更多