未分類

PowerShell - OLEDB を使用して Excel データを読み込む

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) で実行してください。

-未分類