Vb.Netを使用してExcelに複数の行を書き込む方法

Visual Basic .NETアプリケーションを構築するときは、印刷されたレポートに加えてExcelへのエクスポート機能を追加することを検討してください。 追加された機能はほとんどコードを必要としません、そしてあなたの顧客は彼らが選ぶどんな方法ででもデータを分類し分析することができます。 この関数を追加するために、Visual Basicのフォームデザイナを使用します。
1。
Visual Studioを開き、新しいVisual Basicプロジェクトを作成します。 [ファイル]、[新しいプロジェクト]の順にクリックします。新しいプロジェクトのダイアログが表示されたら、ツリービューから[Visual Basic / Windows]を選択し、[Windowsフォームアプリケーション]アイコンをクリックします。しばらくすると、フォームデザイナーが表示されます。
2。
Excel ActiveXコンポーネントへの参照を追加します。 プルダウンメニューから[プロジェクト]をクリックし、[参照の追加]をクリックします。[COM]タブをクリックして、[Microsoft Excel]までスクロールします。Excelのインスタンスが複数表示される場合があるので、最新のバージョンを選択します。顧客のコンピュータですぐに利用できます。
3。
フォームにボタンを追加してください。 ツールボックスアイコンをクリックしてツールボックスを開き、ボタンをフォームにドラッグします。 ボタンを右クリックして「プロパティ」を選択します。プロパティリストが表示されたら、ボタンに「btnToExcel」という名前を付け、Textプロパティを「To Excel」に変更します。次に、新しいボタンをクリックしてコードウィンドウを開きます。
4。
次のようにライブラリのインポートをプログラムコードの先頭に追加します。
Imports Microsoft.Office.Interop Imports System.TextパブリッククラスForm1
5。
Excelオブジェクトのプライベートフィールドを宣言します。
プライベートexcelApp =新しいExcel.ApplicationプライベートexcelDocとしてExcel.WorkbookプライベートexcelSheetとしてExcel.Worksheetプライベート範囲としてExcel.Range
6。
スプレッドシートに入るコンテンツを作成します。次に例を示します。
Private Sub btnToExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnToExcel.Click Dim txt As New StringBuilder Dim i, j As Integer For i = 1 To 20 For j = 1 To 10 txt.Append(i * j) txt.Append(vbTab) Next txt.AppendLine() Next Clipboard.SetText(txt.ToString)
この例でスプレッドシートに送信されたコンテンツは、10×20の乗算テーブルを使用しています。 すべてのデータは、列がタブ文字(vbTab)で区切られ、各行が行末文字で区切られたStringBuilderに追加されます(AppendLineメソッドを使用)。 すべてのコンテンツがStringBuilderにコピーされると、クリップボードに配置されます。 スプレッドシートが開くと、コードはこのデータをスプレッドシートに貼り付けます。
7。
スプレッドシートを開きます。
excelApp = CreateObject( "Excel.Application")excelApp.Visible = True excelDoc = excelApp.Workbooks.Add()excelSheet = excelDoc.ActiveSheet
ここでは、CreateObjectメソッドを使用して新しいExcelアプリケーションオブジェクトを作成し、そのVisibleプロパティをTrueに設定して、Excelに画面に表示するよう指示します。 その後、新しいWorkSheetを作成し、アクティブページへのハンドルを取得します。
8。
スプレッドシートの最初のセルにデータを貼り付けます。
range = excelSheet.Cells(1, 1) excelSheet.Paste(range) End Sub
終了クラス
最初のセルの範囲を取得してから、クリップボードの内容をセルに貼り付けます。 タブと改行は列と行を区切ります。
9。
プログラムを実行してください。 [F5]をクリックしてプログラムを起動し、[To Excel]ボタンをクリックしてスプレッドシートを開いて表示します。
必要なもの
- Microsoft Visual StudioまたはVisual Basic Express 2010
- Microsoft Office Excel 2010、2007、またはXP
先端
- これと同じ手法が、SQLクエリ、テキストファイル、またはレポートやリストビューに表示される可能性のあるその他のデータからのデータに対しても有効です。 見栄えを良くするために、Workbook.OpenメソッドにExcelテンプレートの名前を含めると、データはフォーマット済みのテンプレートにオーバーレイされます。