Vb.net-excel-sheet

提供:Dev Guides
移動先:案内検索

VB.Net-Excelシート

VB.Netは、Microsoft Excel 2010のCOMオブジェクトモデルとアプリケーション間の相互運用性のサポートを提供します。

アプリケーションでこの相互運用性を利用するには、Windowsフォームアプリケーションに名前空間 Microsoft.Office.Interop.Excel をインポートする必要があります。

VB.NetからExcelアプリケーションを作成する

Microsoft Visual Studioで次の手順に従って、ウィンドウフォームアプリケーションの作成から始めましょう。ファイル→新規プロジェクト→Windowsフォームアプリケーション

最後に、[OK]を選択すると、Microsoft Visual Studioがプロジェクトを作成し、次の Form1 を表示します。

フォームにButtonコントロールButton1を挿入します。

Microsoft Excel Object Libraryへの参照をプロジェクトに追加します。 これを行うには-

  • [プロジェクト]メニューから[参照の追加]を選択します。

参照の追加

  • [COM]タブで、Microsoft Excel Object Libraryを見つけて、[選択]をクリックします。

COMタブ

  • OKをクリックしてください。

以下に示すように、コードウィンドウをダブルクリックして、Button1のClickイベントを設定します。

'  Add the following code snippet on top of Form1.vb
Imports Excel = Microsoft.Office.Interop.Excel
Public Class Form1
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Dim appXL As Excel.Application
      Dim wbXl As Excel.Workbook
      Dim shXL As Excel.Worksheet
      Dim raXL As Excel.Range

      ' Start Excel and get Application object.
      appXL = CreateObject("Excel.Application")
      appXL.Visible = True

      ' Add a new workbook.
      wbXl = appXL.Workbooks.Add
      shXL = wbXl.ActiveSheet

      ' Add table headers going cell by cell.
      shXL.Cells(1, 1).Value = "First Name"
      shXL.Cells(1, 2).Value = "Last Name"
      shXL.Cells(1, 3).Value = "Full Name"
      shXL.Cells(1, 4).Value = "Specialization"

      ' Format A1:D1 as bold, vertical alignment = center.
      With shXL.Range("A1", "D1")
         .Font.Bold = True
         .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
      End With

      ' Create an array to set multiple values at once.
      Dim students(5, 2) As String
      students(0, 0) = "Zara"
      students(0, 1) = "Ali"
      students(1, 0) = "Nuha"
      students(1, 1) = "Ali"
      students(2, 0) = "Arilia"
      students(2, 1) = "RamKumar"
      students(3, 0) = "Rita"
      students(3, 1) = "Jones"
      students(4, 0) = "Umme"
      students(4, 1) = "Ayman"

      ' Fill A2:B6 with an array of values (First and Last Names).
      shXL.Range("A2", "B6").Value = students

      ' Fill C2:C6 with a relative formula (=A2 & " " & B2).
      raXL = shXL.Range("C2", "C6")
      raXL.Formula = "=A2 & "" "" & B2"

      ' Fill D2:D6 values.
      With shXL
         .Cells(2, 4).Value = "Biology"
         .Cells(3, 4).Value = "Mathmematics"
         .Cells(4, 4).Value = "Physics"
         .Cells(5, 4).Value = "Mathmematics"
         .Cells(6, 4).Value = "Arabic"
      End With

      ' AutoFit columns A:D.
      raXL = shXL.Range("A1", "D1")
      raXL.EntireColumn.AutoFit()

      ' Make sure Excel is visible and give the user control
      ' of Excel's lifetime.
      appXL.Visible = True
      appXL.UserControl = True

      ' Release object references.
      raXL = Nothing
      shXL = Nothing
      wbXl = Nothing
      appXL.Quit()
      appXL = Nothing
      Exit Sub
Err_Handler:
      MsgBox(Err.Description, vbCritical, "Error: " & Err.Number)
   End Sub
End Class

上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な Start ボタンを使用して実行されると、次のウィンドウが表示されます-

VB.Net Excelの例

ボタンをクリックすると、次のExcelシートが表示されます。 ブックを保存するように求められます。

VB.Net Excel結果フォーム