SPREADを使って一覧データを表示することはよくあります。今回は、簡単なデータを一覧表示させる方法です。
以下のソースは、フォームロード時にSPREADの初期化を行っています。 アクティブシートのカラム数を3に設定し、ヘッダ行数を0でクリア設定しています。
フォーム表示後、ボタンをクリックすると、 クリックイベント内で宣言された固定的なテストデータをSPREADに設定し表示させます。
データの1行分毎の処理で、「RowCount」プロパティを+1して行を追加します。 次に、追加された行にカラムデータを1セル毎に「Value」プロパティに設定します。 セルの「Text」プロパティでもほぼ同じ結果になりますが、 第1セルの"001"の値の先頭ゼロが省かれて"1"となってしまいます。
1カラム目のCellTypeが何も設定されていませんので、 「Text」プロパティでデータ設定するとデフォルトでは先頭ゼロは省かれる様です。
もし、「Text」プロパティを使うのであれば、CellTypeを「TextCellType」に設定する必要があります。 (各セル毎にCellTypeを設定する方がいいのですが)
「Value」プロパティの場合は、そのままのデータが設定されるので"001”と表示される様です。
下図は、最初、フォームが表示された時の様子です。
その後、ボタンをクリックした結果が以下の図です。
尚、ソースの中で使っている「ArrData.GetLength(0)」ですが、これは1次元目の個数を取得するものです。 「ArrData.GetLength(1)」は2次元目の個数です。
=====
2016/02/29:の時の情報
以下のソースは、フォームロード時にSPREADの初期化を行っています。 アクティブシートのカラム数を3に設定し、ヘッダ行数を0でクリア設定しています。
フォーム表示後、ボタンをクリックすると、 クリックイベント内で宣言された固定的なテストデータをSPREADに設定し表示させます。
データの1行分毎の処理で、「RowCount」プロパティを+1して行を追加します。 次に、追加された行にカラムデータを1セル毎に「Value」プロパティに設定します。 セルの「Text」プロパティでもほぼ同じ結果になりますが、 第1セルの"001"の値の先頭ゼロが省かれて"1"となってしまいます。
1カラム目のCellTypeが何も設定されていませんので、 「Text」プロパティでデータ設定するとデフォルトでは先頭ゼロは省かれる様です。
もし、「Text」プロパティを使うのであれば、CellTypeを「TextCellType」に設定する必要があります。 (各セル毎にCellTypeを設定する方がいいのですが)
「Value」プロパティの場合は、そのままのデータが設定されるので"001”と表示される様です。
Public Class Form1 'フォームロード時にSPREADの初期化 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With Me.FpSpread1.ActiveSheet 'SPREADのアクティブシートのカラム数を3に設定 .ColumnCount = 3 'SPREADの行クリア .RowCount = 0 End With End Sub 'ボタンクリックでカラム連結処理 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '仮に4行分のデータ Dim ArrData(,) As String = { _ {"001", "Content001", "Test001"}, _ {"002", "Content002", "Test002"}, _ {"003", "Content003", "Test003"}, _ {"004", "Content004", "Test004"} _ } 'ソースが長くなるのでWith宣言 With Me.FpSpread1.ActiveSheet 'データの行数分の処理 For i As Integer = 0 To ArrData.GetLength(0) - 1 '行数を増やす .RowCount += 1 'カラム数分をセルに設定 For j As Integer = 0 To ArrData.GetLength(1) - 1 '.Cells(i, j).Text = ArrData(i, j) 'こちらは"001"⇒"1"と表示される .Cells(i, j).Value = ArrData(i, j) '書式無しで生のデータを設定 Next Next End With End Sub End Class
下図は、最初、フォームが表示された時の様子です。
その後、ボタンをクリックした結果が以下の図です。
尚、ソースの中で使っている「ArrData.GetLength(0)」ですが、これは1次元目の個数を取得するものです。 「ArrData.GetLength(1)」は2次元目の個数です。
=====
2016/02/29:の時の情報
PR
コメント