locked
Silverlight エクセル出力 RRS feed

  • 質問

  • Silverligt開発初心者です。

    Silverlight、VS2010(VB)でWebアプリケーションを開発しているのですが、

    Webサーバにアプリを置いて、クライアント環境のブラウザからアクセスし、そのブラウザのボタンを押下したら、

    グリッドのデータをクライアント環境にエクセル出力する。

    上記のようなことを行いたいのですが、ブラウザ外実行を行わずに、エクセル出力を行うといったことはできるのでしょうか?

    また、有償のツールなどは無しで行いたいです。

    ご存知の方がいらっしゃいましたら、ご教示よろしくお願いいたします。

     

    2011年3月31日 5:57

回答

  • NPOIを使えばサーバーサイドでExcelを使ってクライアント側に流し込めます。サンプル作ってみました。

    http://d.hatena.ne.jp/okazuki/20110401/1301662031


    かずき Blog:http://d.hatena.ne.jp/okazuki/ VS 2010のデザイナでBlendのBehaviorをサポートするツール公開してます。 http://vsbehaviorsupport.codeplex.com/
    • 回答としてマーク ohzeki 2011年4月4日 5:32
    2011年4月1日 12:47

すべての返信

  • こんばんわ。

    A)結果として、Excelファイルがクライアントに存在すれば良い
    B)Silverlight から直接出力する

    のどちらかによって変わると思いますが、

    B)であれば不可能です。

    A)であれば、いくつもの方法が考えられます。こちらはネットにたくさんヒントが転がっていますね(^^)


    K.Oumi
    2011年3月31日 10:27
  • K.Oumiさま

    ご回答ありがとうございます。

    自分で調べたてみて、ブラウザ外実行で出力、有償ツールを利用して出力というネットで探せたのですが、

    A)での出力で、上記以外の方法をご存知でしたらご教示お願いできませんでしょうか?

    もしくは、ヒントのHPだけでも教えていただけませんか?

    無知で大変申し訳ありませんがよろしくお願いいたします。

    2011年4月1日 0:13
  • こんにちは。

    では、1つの方法として、やったことはないですが、多分出来ると思います。

    1)必要なデータをサーバへ送る(サーバーのサービス宛で良いでしょう)
    2)サーバー側でOpen XML形式でファイルを保存、クライアントへ完了通知
    3)クライアント側から、Silverlight の HTMLブリッジ機能で、JavaScriptから対象ファイルをダウンロード
     (たぶんここでひらかせることもできるでしょう)

    でどうでしょうか。


    K.Oumi
    2011年4月1日 4:16
  • NPOIを使えばサーバーサイドでExcelを使ってクライアント側に流し込めます。サンプル作ってみました。

    http://d.hatena.ne.jp/okazuki/20110401/1301662031


    かずき Blog:http://d.hatena.ne.jp/okazuki/ VS 2010のデザイナでBlendのBehaviorをサポートするツール公開してます。 http://vsbehaviorsupport.codeplex.com/
    • 回答としてマーク ohzeki 2011年4月4日 5:32
    2011年4月1日 12:47
  • おお。NPOIよさそうですね。

    SaveFiledialogって何か制限あったような気がしますが、そこがクリアできれば最高の方法っぽいですね。


    K.Oumi
    2011年4月2日 13:15
  • かずき_okazukiさま K.Oumiさま

    返信が遅くなりまして申し訳ありません。

    ご回答ありがとうございます。是非参考にさせていただきます。

    SaveFiledialogの制限とは、

    Silverlight (ver 3 時点) の全画面モードでは

    • OpenFileDialog
    • SaveFileDialog

    をサポートしません。

    ということでしょうか?この他の制限もありますでしょうか?
    2011年4月4日 1:50
  • こんにちは。

    ・初期フォルダを指定できない(つまり、パスは都度変わる可能性がある)。
    ・フルパスの取得ができない。

    などがあったと思います。調べてみてください。

    アプリケーションを配布・販売するなどの場合、NPOIのライセンスにも、一応注意したほうが良いと思います。


    K.Oumi
    2011年4月4日 11:47
  • K.Oumiさま

    ご回答ありがとうございます。

    自分でも調査してみます。

    2011年4月5日 4:12