接続文字列にExcelファイルのパス
DataAdapterオブジェクトのFillメソッドを使って、Excelファイルを読み込みます。接続文字列にExcelファイルのパス、SQL文のFROM句にシート名、WHERE句で行を絞り込めば、必要なデータのみ取得できます。
DataAdapter.FillでExcelファイルを読込む
Excelファイルの郵便番号簿.xls(シート名は、デフォルトの"Sheet1")は、プロジェクトフォルダ下のbinフォルダに置きます。
https://dubai.rub-ex.com обмен валют в дубае: обмен валюты в дубае рубли на дирхамы.
削除区分 | 郵便番号 | 都道府県名 | 市区町村名 | 町域名 |
---|---|---|---|---|
100-0102 | 東京都 | 大島大島町 | 岡田 | |
100-0211 | 東京都 | 大島大島町 | 差木地 | |
100-0103 | 東京都 | 大島大島町 | 泉津 | |
100-0104 | 東京都 | 大島大島町 | 野増 | |
100-0212 | 東京都 | 大島大島町 | 波浮港 | |
100-0101 | 東京都 | 大島大島町 | 元町 | |
104-0044 | 東京都 | 中央区 | 明石町 | |
104-0042 | 東京都 | 中央区 | 入船 | |
104-0054 | 東京都 | 中央区 | 勝どき | |
104-0031 | 東京都 | 中央区 | 京橋 | |
104-0061 | 東京都 | 中央区 | 銀座 | |
102-0072 | 東京都 | 千代田区 | 飯田橋 | |
102-0082 | 東京都 | 千代田区 | 一番町 | |
101-0032 | 東京都 | 千代田区 | 岩本町 | |
101-0047 | 東京都 | 千代田区 | 内神田 | |
100-0011 | 東京都 | 千代田区 | 内幸町 | |
100-0004 | 東京都 | 千代田区 | 大手町 | |
101-0044 | 東京都 | 千代田区 | 鍛冶町 | |
101-0029 | 東京都 | 千代田区 | 神田相生町 | |
101-0063 | 東京都 | 千代田区 | 神田淡路町 |
コントロール | プロパティ | 設定値 |
---|---|---|
TxtYubinBango | BorderStyle | Fixed3D |
BtnSelect | Text | 検索 |
LblKenmei | BorderStyle | FixedSingle |
LblShicyosonMei | BorderStyle | FixedSingle |
LblChoMei | BorderStyle | FixedSingle |
サンプルプログラム
ソースリストの枠内をクリックすると全選択できます。
Imports System.Data.OleDb Public Class YBN Public Const BANGO As Integer = 1 Public Const TODOUFUKEN As Integer = 2 Public Const SHICHOSON As Integer = 3 Public Const CHOIKI As Integer = 4 End Class Public Class FormExcelRead Inherits System.Windows.Forms.Form #Region " Windows フォーム デザイナで生成されたコード " ' 自動生成部分省略 #End Region '---------------------------------------------------------------- ' 検索ボタン押下処理:エクセルファイルから該当行を取得し表示する '---------------------------------------------------------------- Private Sub BtnSelect_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BtnSelect.Click Dim con As New OleDbConnection() Dim cmd As New OleDbCommand() Dim da As New OleDbDataAdapter() Dim ds As DataSet = New DataSet() Dim dt As New DataTable() Try ' DB接続文字列の設定 con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0; " & _ "Data Source=" & _ Application.StartupPath & "\郵便番号簿.xls;" & _ "Extended Properties=""Excel 8.0;HDR=YES;""" ' コネクションの設定 cmd.Connection = con ' SQL文の設定 ' シート名は、デフォルトの"Sheet1"のまま使っています cmd.CommandText = "SELECT * FROM [Sheet1$] " + _ "WHERE 郵便番号 = @bango" ' SELECTコマンドの設定 da.SelectCommand = cmd ' SQL文パラメータの設定 cmd.Parameters.Add("@bango", OleDbType.Char, 8) cmd.Parameters("@bango").Value = _ Me.TxtYubinBango.Text ' データを取得する da.Fill(dt) ' 取得レコード数のチェック If dt.Rows.Count = 1 Then Me.LblKenmei.Text = _ CStr(dt.Rows(0).Item(YBN.TODOUFUKEN)) Me.LblShicyosonMei.Text = _ CStr(dt.Rows(0).Item(YBN.SHICHOSON)) Me.LblChoMei.Text = _ CStr(dt.Rows(0).Item(YBN.CHOIKI)) ElseIf dt.Rows.Count = 0 Then ' 行データがなかった時の処理 MessageBox.Show _ ("郵便番号簿にデータなし", "エラー") Me.LblKenmei.Text = "" Me.LblShicyosonMei.Text = "" Me.LblChoMei.Text = "" Me.TxtYubinBango.Focus() Else ' 行データが重複していた時の処理 MessageBox.Show _ ("同一郵便番号が2行以上あり", "エラー") End If Catch ex As Exception ' 例外が発生した時の処理 MessageBox.Show(ex.ToString, "例外発生") End Try End Sub End Class