SHOEISHA iD

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

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

ComponentZine(ComponentOne)

Excelブックを読み書きする.NET アプリケーションを作る

.NETコンポーネントを使ったExcelのブックを操作するアプリケーションの作成

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

データの書き込み処理

 C1XLBookコンポーネントは、ワークシートへのデータの書き込みもできます。このプログラムでは、TextBoxコントロールに入力されたデータを、ワークシートSheet1にあるデータの最後尾に追加するようにします。そのため、まず最初に「読み込み」ボタンを使ってワークシートSheet1のデータを読み込んでおく必要があります。

 まず、ワークシートSheet1への参照を作成します。そして、データを書き込むセルを参照し、そのValueプロパティにTextBoxコントロールのTextプロパティの値を代入します。

 なお、このプログラムでは、データの最後尾のセルの行番号は、変数iの値を使用しています。この変数には、データを読み込んだ時の最後の行番号の次の番号が格納されているので、これを使います。

 もし、この変数iの値が0であれば、データの読み込みが行われていませんから、メッセージを表示して処理を終了します。

すでにデータが読み込まれていれば、TextBoxコントロールに入力されているデータをワークシートに書き込み、Saveメソッドを使ってブックを上書き保存します。

Visual Basic
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
	Dim sheet1 As XLSheet = wb.Sheets(0)
    
    If i = 0 Then
        MessageBox.Show("データを読み込んでください")
        Exit Sub
    End If
    
    sheet1(i, 0).Value = Me.TextBox1.Text
    wb.Save("j:\data\winelist.xls")
End Sub
C#
private void button2_Click(object sender, EventArgs e)
{
    XLSheet sheet1 = wb.Sheets[0];

	if(i == 0){
        MessageBox.Show("データを読み込んでください");
        return;
    }
    
    sheet1[i, 0].Value = textBox1.Text;
    wb.Save("j:/data/winelist.xls");
}

 以上で、できあがりです。データを書き込んだら、もう一度「読み込み」ボタンを押すと、データが追加されていることを把握できます。

テキストボックスに入力して「書き込み」ボタンを押すとデータをセルに書き込む
テキストボックスに入力して「書き込み」ボタンを押すとデータをセルに書き込む
「読み込み」ボタンを押してデータを読み込みなおすと追加したデータが表示される
「読み込み」ボタンを押してデータを読み込みなおすと追加したデータが表示される

まとめ

 C1XLBookコンポーネントは、VBAを使うことなくコンポーネントのクラスをVisual BasicやC#の構文で操作することができますから、VBAの知識がなくてもExcelのブックを操作できます。

 プログラムのデータを、独自のファイルに保存するのではなくExcelのブック形式で保存できると、Excelで表示したりグラフなどでさらにデータを加工できますので、データファイルの汎用性がぐっと高くなるのではないでしょうか。

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング