SilverlightアプリケーションでExcelファイルのダウンロード(WCF RIA Services)

キーテクノロジNPOIWCF RIA ServicesSilverlightNPOIを使ってサーバーサイドで作成したExcelファイルをSilverlightで受信してファイルに出力するサンプルです。Loadボタンを押すと、データがDataGridに表示されます。Export...ボタンを押すとExcelファイルが保存されます。 

C# (1.5 MB)
 
 
 
 
 
(0)
799 times
Add to favorites
4/1/2011
E-mail Twitter del.icio.us Digg Facebook
using System.Windows;
using System.Windows.Controls;
using ExcelDownloadSample.Web;

namespace ExcelDownloadSample
{
    public partial class MainPage : UserControl
    {
        private ExcelContext context = new ExcelContext();

        public MainPage()
        {
            InitializeComponent();
        }

        private void buttonLoad_Click(object sender, RoutedEventArgs e)
        {
            // データを取得してきてDataGridに表示する
            context.Load(
                context.GetPeopleQuery(),
                op =>
                {
                    this.dataGridPeople.ItemsSource = op.Entities;
                },
                null);
        }

        private void buttonExport_Click(object sender, RoutedEventArgs e)
        {
            // Excelファイルを保存する
            var dlg = new SaveFileDialog();
            dlg.Filter = "Excelファイル(*.xls)|*.xls|全てのファイル|*.*";

            // Dialogはユーザからの操作で開かせる必要があるのでここで開かせる
            if (dlg.ShowDialog() != true)
            {
                return;
            }

            context.GetExecl(
                op =>
                {
                    // データの取得が終わったらファイルに書き込む
                    using (var f = dlg.OpenFile())
                    {
                        f.Write(op.Value, 0, op.Value.Length);
                    }
                    MessageBox.Show("保存終了");
                },
                null);
        }
    }
}