OLEDB を使用して Excel データを読み込む方法について説明します。
Excel データを読み込む
1. 以下のデータを D:\test.xls の Sheet1 シートに作成します。
| A 列 | B 列 |
|---|---|
| 果物 | 価格 |
| バナナ | 90 |
| リンゴ | 120 |
| メロン | 550 |
2. 次のコードにより、データを読み込みます。
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Data")
[string]$cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.xlsx;Extended Properties=Excel 12.0"
[System.Data.OleDb.OleDbConnection]$oCon = New-Object System.Data.OleDb.OleDbConnection($cs)
[System.Data.OleDb.OleDbCommand]$oCmd = New-Object System.Data.OleDb.OleDbCommand
$oCon.Open()
$oCmd.Connection = $oCon
$oCmd.CommandText = "SELECT * FROM [Sheet1$]"
[System.Data.OleDb.OleDbDataReader]$oReader = $oCmd.ExecuteReader()
while ($oReader.Read())
{
$oReader["果物"] + " " + $oReader["価格"]
}
$oReader.Close()
$oCon.Close()
$oCmd.Dispose()
$oCon.Dispose()
Clear-Variable oCmd
Clear-Variable oCon
尚、このコマンドを Windows 7 x64 上で動作させる場合は、PowerShell ISE (x86) で実行してください。