2009-04-20 13 views
2

Webサービス経由でExcelスプレッドシートを配信することは可能ですか?私は、ASP.NET Webサービスは、シンプルな要素を扱うように見えるとは思わない。 ExcelがXML形式で保存されている場合、これは機能しますか?Webサービス経由でExcelスプレッドシートを配信する方法

私は多数のレポートを電子メールで送信していますが、これらのレポートをWebサービス経由で取得できるように要求されています。

これは達成可能ですか?

+0

を使用するには?またはhttp /認証ベースのダウンロードはどうですか? – boj

答えて

7

イエップ。 Excelファイルをサーバー上のメモリストリームとして開いて、クライアント/コンシューマにbyte []としてストリーミングできます。クライアントは、ファイルストリームをローカルマシンに保存するだけです。

MSにはナレッジベースの記事があります。

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

0

私は試してみません。 Excelスプレッドシートには、書式設定などに伴う大きなオーバーヘッドがあります。私はワイヤーだけでデータを送るように誘惑されるだろう。受信側でスプレッドシートを絶対に必要とする場合は、少しだけコードを記述するとデータをそのようにフォーマットできます。

これに代わる別の方法は、スプレッドシートファイルを直接ダウンロードできるようにすることです。 Webサービスをホストしているという事実は、WebClient.DownloadFileが利用できるように、何らかの種類のWebサーバーを使用していることを意味します。 Webサービスは最新のファイルのURLを提供することができます。

*編集 - Eoin Campbellの答えは、あなたが望むなら、あなたが優先ルートを取ることを可能にします。

+0

これは理にかなっています! – Codex

0

あなたは、MIMEエンコードされた文字列にそれを回すBASE64または他の選択肢のいくつかを使用してExcelファイルをシリアル化できます。

同じ種類の添付ファイルが電子メールに組み込まれています。クライアントは、MIMEエンコードされた文字列を期待していることを知っておく必要があるだろう。もちろん、

、およびデコードのタイプのクライアントの種類によって

関連する問題