「LEAGUE」という名前のワークシートを 1 つだけ含む空の Excel ファイルを準備できるとします。
このシートでは、最初の行に次の値を定義しました (各セルごとに)。
チーム名 PL WDLFA 差ポイント
これで、次のような疑似コードを書くことができます (いくつかのテストが必要です):
Dim results() = File.ReadAllLines("yourfile.txt")
Dim connectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source={0};Extended Properties='Excel 12.0;" +
"HDR=YES;IMEX=0'", "yourexcelfile.xlsx")
Using cn = new OleDbConnection(connectionString)
cn.Open();
Dim sqlCommand = new OleDbCommand("INSERT INTO [LEAGUE$] " +
"(TEAMNAME,PL,W,D,L,F,A,Dif,Pts)" +
"VALUES(?,?,?,?,?,?,?,?,?)", cn)
sqlCommand.Parameters.AddWithValue("@team", string.Empty)
sqlCommand.Parameters.AddWithValue("@played", string.Empty)
sqlCommand.Parameters.AddWithValue("@win", string.Empty)
sqlCommand.Parameters.AddWithValue("@deu", string.Empty)
sqlCommand.Parameters.AddWithValue("@los", string.Empty)
sqlCommand.Parameters.AddWithValue("@f", string.Empty)
sqlCommand.Parameters.AddWithValue("@a", string.Empty)
sqlCommand.Parameters.AddWithValue("@dif", string.Empty)
sqlCommand.Parameters.AddWithValue("@pts", string.Empty)
For Each line in results
Dim cells() = line.Split(ControlChars.Tab)
sqlCommand.Parameters("@team").Value = cells(0)
sqlCommand.Parameters("@played").Value = cells(1)
sqlCommand.Parameters("@win").Value = cells(2)
sqlCommand.Parameters("@deu").Value = cells(3)
sqlCommand.Parameters("@los").Value = cells(4)
sqlCommand.Parameters("@f").Value = cells(5)
sqlCommand.Parameters("@a").Value = cells(6)
sqlCommand.Parameters("@dif").Value = cells(7)
sqlCommand.Parameters("@pts").Value = cells(8)
sqlCommand.ExecuteNonQuery()
Next
End Using