SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

「WebでExcelを編集したい」技術系掲示板でよく見かける質問をSPREAD for ASP.NET 5.0Jで解決する

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルソース (68.9 KB)

Excel編集画面を作成する

一覧画面でボタンクリックイベントを検出する

 ファイル一覧画面では行ごとにボタンを設置しています。このようなデザインの場合、ボタンをクリックするとどのようなイベントが起きるのでしょうか。答えはButtonCommandイベントです。

 SPREADのButtonCommandイベントの特徴は、SPREADに配置したボタンをクリックすれば一律でButtonCommandイベントが発生するという事です。ボタンがクリックされた行については、イベントプロシージャの引数「e」から「e.CommandArgument.X」プロパティを参照して行を取得できます。

 各ボタンの識別はe.CommandNameにクリックしたボタンのコマンド名が設定されます。例えば[編集ボタン]には「Edit_Button」というコマンド名を設定しています。

図8 スタイルエディタ
図8 スタイルエディタ
リスト3一覧画面でボタンクリックイベントを検出
Private Sub List_FpSpread_ButtonCommand(ByVal sender As Object,
                                      ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) _
                                        Handles List_FpSpread.ButtonCommand
    Dim filePath As String = System.IO.Path.Combine(My.Request.PhysicalApplicationPath,
                                                    "App_Data")
    Dim fileName As String = Me.List_FpSpread.Sheets(0).GetText(e.CommandArgument.X, 0)

    Select Case e.CommandName
        Case "Edit_Button"
            Call GetExcel(filePath, fileName)
            Me.FileName_Label.Text = fileName
        Case "Get_Button"
            Call DownloadExcelFile(filePath, fileName)
    End Select
End Sub

ExcelファイルをSPREADに表示する

リスト4 ExcelファイルをSPREADに表示する
Private Function GetExcel(ByVal filePath As String,
                          ByVal fileName As String) As Boolean
    Dim isOK As Boolean = False
    Try
        Me.Excel_FpSpread.OpenExcel(System.IO.Path.Combine(filePath, fileName))
        Me.Excel_FpSpread.ActiveSheetView.PageSize = Me.Excel_FpSpread.Rows.Count
    Catch ex As Exception
        Me.Message_Label.Text = ex.Message
    End Try
    isOK = True
    Return isOK
End Function

 SPREADにExcelファイルの内容を表示するのに必要なのはリスト4のように、OpenExcelメソッドの実行とActiveSheetView.PageSizeRows.Countを入れて、Excelシートの内容がすべて表示できるようにPageSizeを調整するコードです。なお、Excelシートを表示するExcel_FpSpreadは、Webフォームに貼りつけただけで利用できます。

図9 ExcelファイルをSPREADに表示する
図9 ExcelファイルをSPREADに表示する

次のページ
編集内容を保存する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5535 2010/10/29 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング