2009-04-20 50 views
2

是否可以通过Web服务交付Excel电子表格?我相信不是因为ASP.NET web服务似乎只处理可执行文件元素,而excel二进制格式不是(我认为)。如果Excel以XML格式保存,这将工作吗?如何通过Web服务交付Excel电子表格

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

这是可以实现的吗?

+0

用什么样的客户,其解码类型?或者基于http/authenticate的下载呢? – boj 2009-04-20 09:42:07

回答

7

是的。你可以打开excel文件作为服务器上的内存流,并以byte []的形式将它们流到客户端/客户端。客户端然后可以将文件流保存回本地机器。

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

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

0

我不会尝试。 Excel电子表格与格式化有很多相关的开销,等等。我试图通过电线发送数据。如果绝对必须是接收端的电子表格,那么多一点编码就可以格式化数据。

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

*编辑 - 如果您仍然愿意,Eoin Campbell的答案将允许您采用您的首选路线。

+0

这非常合理! – Codex 2009-04-20 10:30:50

0

,你可以将其变成一个MIME编码字符串,使用Base64或其他一些替代品的序列化的Excel文件。

相同类型的附件嵌入在电子邮件中。

当然,客户需要知道它期待一个MIME编码字符串,并使用