2011-03-23 74 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