2009-06-18 8 views
1

DatagridとSilverlight 2アプリを持っています。これは、サーバーに戻ってExcelにエクスポートするためのボタンです。Silverlight DatagridをExcelにエクスポートする(往復なし)

データグリッドを表すHTML文字列を作成できます。私はMIMEタイプ= application/vnd.ms-excelを設定し、xlsファイルを開いたり保存したりするかどうかを尋ねるプロンプトが表示されるように、html要素にこの文字列を添付したいと思います。私はHTML DOMにそれを押して、Silverlightの内から似た何かを行うことができるはずのようにそれはそうASPがこれを行うことができ、すべての場合後

...

<% The main feature of this technique is that %> 
<% you have to change Content type to ms-excel.%> 

Response.ContentType = "application/vnd.ms-excel" 
<TABLE> 
<TR><TD>2</TD></TR> 
<TR><TD>3</TD></TR> 
<TR><TD>=SUM(A1:A2)</TD></TR> 
</TABLE> 

...。

大変ありがとうございます。

答えて

1

javascriptを使用してデータクリップのコンテンツをユーザーのクリップボードにコピーすることができます(単に「クリップボードにコピー」ボタンを作成します)。それを自分のスプレッドシートに貼り付けることができます彼らはこのソリューションにはとても満足していました)。必要に応じてコードを投稿できます。

1

これは起こりません。あなたはSLが投稿したサーバから何かを取得するためにブラウザを取得する必要があります。

ブラウザがドキュメントをHTML DOMとして作成した場合にのみ、ブラウザがホストするドキュメントにHTMLを書き込むことができます。したがって、あなたが書いているテキストのストリームがExcelスプレッドシートのような別のドキュメントタイプであることをブラウザに納得させることはできません。

+0

感謝のために働いていた素敵なアプローチです。私はあなたが言っていることを見て、文書化されていない機能があることを望んでいました。たぶん、HtmlPage.PopupWindowをオーバーロードして、HTML文字列をインラインで受け付けるようにすることができます。私は弁護士が汚れているかもしれないと思う。 概念的には、この男が望んでいるものに似ています... http://bytes.com/groups/javascript/93938-create-excel-spreadsheet-javascript –