2011-03-23 48 views
0

是否可以在WCF服务级别执行sql查询并将输出以.csv或excel格式进行流式传输?所以,如果用户点击'export to excel',我想要在服务中运行查询并以excel/csv格式将其返回给客户端。通过WCF将数据导出为ex​​cel

+0

只是做了..太糟糕,所以没有快速enuf :) – Kev 2011-03-23 11:04:45

回答

0

http://msdn.microsoft.com/en-us/library/ms731913.aspx

WCF确实支持带有一些限制的流式传输。

您能否介绍一下该项目的背景知识?我这样问,因为可能比接收批量数据更好。例如,如果您从数据库获取数据并将其放入Excel工作表中,最好简单地使用该数据库并完全忽略WCF。

如果您希望将服务层添加到数据库,您应该考虑OData,或者至少将Excel逻辑放在客户端计算机上,以便您可以一次访问一条记录。

如果担心性能问题,您可能希望考虑替代绑定,例如TPC或IPC,它们都使用更高效的二进制合约串行器。

如果您不想考虑替代方案,我会亲自使用CSV或制表符分隔的格式,并使用适当的命名方式(.txt,.csv),因为使用Excel格式通常需要运行Excel副本(互操作库)或付费的第三方工具。

+0

或[OpenXML的] (http://openxmldeveloper.org/default.aspx)。 :) – 2011-03-23 20:09:16

+0

在我的应用程序中,我们执行存储过程并将数据绑定到网格。还要求查询在服务器中运行,并提示用户以csv格式下载相同的文件,而不是将其绑定到网格。我确实尝试了此链接中提到的方法http://forums.silverlight.net/forums/p/103927/236977.aspx。但是我得到XML解析错误。 – Kev 2011-03-24 07:12:40