サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
- 日時: 2010/02/14 23:40
- 名前: 花ちゃん
  
  - ***********************************************************************************
 * カテゴリー:[グリッド関係][ファイル入出力][エクセル][データベース]              * * キーワード:xlsファイル,Excel ファイル,データー グリッドビュー,ADO.NET,       * *********************************************************************************** 投 稿 日 : 2010/01/26 投 稿 者 : 花ちゃん
  CSVファイルをADO.NETを使ってDataGridViewに表示(VB.NET) に続き、今度はCSV ファイルの 代りに、Excel の xls 形式のファイルを使って読み込み表示の設定方法を掲載しました。
  使用するデーターは、下図のようにExcel で作成し、Excel 97-2003 ブック 形式で保存して 下さい。 必ず、最初は、下図と同じデーター(ファイル名・シート名も含めて)を使って下さい。 作るのが面倒な人は下記よりダウンロードしてお使い下さい。 http://www.hanatyan.sakura.ne.jp/bbs_gif/test.zip (動作確認後、違うデーターも表示するようにして試して見て下さい。)
 
  尚、細部の設定・装飾については、下記のサイトに Tips が多く掲載されているので参考に されたらいいかと思います。
  DOBON.NET さんの DataGridView編メニュー http://dobon.net/vb/dotnet/datagridview/index.html
  -------------------------------------------------------------------------------------- Form に DataGridView を下図のように貼り付け、test.xls ファイルを この EXE の 入っているフォルダーに入れて下記コードをコピーして、実行して見て下さい。
  '=================================================================================================== '動作確認:WindowsVista VB2008(EE) Framework 3.5 / WindowsXP VB2005(EE) Framework 2.0 '[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定 '========1=========2=========3=========4=========5=========6=========7=========8=========9=========0 Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, _                        ByVal e As System.EventArgs) Handles Me.Load 'ExcelのファイルをADO.NETを使ってDataGridViewに表示    Using cn As New System.Data.OleDb.OleDbConnection    Using cm As New System.Data.OleDb.OleDbCommand    Using da As New System.Data.OleDb.OleDbDataAdapter       Dim ds As New DataSet       '※注意 Excelファイルのフルパスを設定(この設定では、*.xlsx 形式は読み込めない)       Dim FileName As String = System.IO.Path.Combine(Application.StartupPath(), "Test.xls")       'Excelファイルのシート名(Excel 上で設定したシート名)を設定       Dim SheetName As String = "Sheet1"       'データベースに接続するための情報を設定する       'HDR 等の接続文字列のオプションの詳細説明は下記をご覧下さい。       'http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm       cn.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;Data source=" & _                            FileName & ";Extended properties=""Excel 8.0;HDR=YES;IMEX=1"""       'コネクションの設定       cm.Connection = cn       'データソースで実行するSQL文の設定       cm.CommandText = "select * from [" & SheetName & "$]"       'データソース内のレコードを選択するためのSQLコマンドの設定       da.SelectCommand = cm       'データを取得する       da.Fill(ds, SheetName)       'データグリッドに表示するデータソースを設定       DataGridView1.DataSource = ds       'グリッドを表示するための、DataSource 内のリストを設定       DataGridView1.DataMember = SheetName    End Using    End Using    End Using End Sub
  ---------------------------------------------------------------------------------------------- 尚、CSVファイルをADO.NETを使ってDataGridViewに表示(VB.NET) と同じような書き方(下記)でも 結構です。 Private Sub Button1_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button1.Click 'ExcelのファイルをADO.NETを使ってDataGridViewに表示    Using cn As New System.Data.OleDb.OleDbConnection       '※注意 Excelファイルのフルパスを設定(この設定では、*.xlsx 形式は読み込めない)       Dim FileName As String = System.IO.Path.Combine(Application.StartupPath(), "Test.xls")       'Excelファイルのシート名(Excel 上で設定したシート名)を設定       Dim SheetName As String = "Sheet1"       'データベースに接続するための情報を設定する       'HDR 等の接続文字列のオプションの詳細説明は下記をご覧下さい。       'http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm       cn.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;Data source=" & _                  FileName & ";Extended properties=""Excel 8.0;HDR=YES;IMEX=1"""       Using da As System.Data.OleDb.OleDbDataAdapter = _          New System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [" & SheetName & "$]", cn)          Dim ds As New DataSet          da.Fill(ds, SheetName & "$")        'この場合のテーブル名はExcel のシート名です。          DataGridView1.DataSource = ds.Tables(SheetName & "$")       End Using    End Using End Sub
  ---------------------------------------------------------------------------------------------- 上記が理解できたなら、下記も試して見て下さい。(マイクロソフト サポート オンライン)
   Visual Basic .NET と ADO.NET を使用して Excel ブックのレコードの取得と変更を行う方法  http://support.microsoft.com/default.aspx?scid=kb;ja;316934  リンクがつながらない場合、上記のタイトルで検索して見て下さい。 ----------------------------------------------------------------------------------------------
  使用データーファイル                 上記実行図 
 
 
  
  
 |