Powershell からの Excel データ連携タスクを自動化

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Excel ADO.NET Provider

.NET アプリケーションをExcel スプレッドシートのリアルタイムデータに簡単に接続できます。Excel を使用して、アプリケーションの要となるデータを管理できます。



PowerShell から Excel に簡単に接続する方法をお探しですか? CData ADO.NET Provider for Excel は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にExcel に接続して、同期、自動化、ダウンロードなどが可能!



CData ADO.NET Provider for Excel は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからExcel API へのデータ連携を可能にします。このプロバイダーは、Excel の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムExcel に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Excel\lib\System.Data.CData.Excel.dll")
  2. Excel に接続:

    Authentication セクションのExcelFile には有効なExcel ファイルを設定する必要があります。

    Amazon S3 内のExcel への接続

    URI をバケット内のExcel ファイルに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のExcel への接続

    URI をExcel ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のExcel への接続

    URI をExcel ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。

    SharePoint Online SOAP 内のExcel への接続

    URI をExcel ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のExcel への接続

    URI をExcel ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のExcel への接続

    URI をExcel ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のExcel への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

    $constr = "Excel File='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';" $conn= New-Object System.Data.CData.Excel.ExcelConnection($constr) $conn.Open()
  3. ExcelDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT Name, Revenue from Sheet" $da= New-Object System.Data.CData.Excel.ExcelDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.name $_.revenue }

Excel データの更新

$cmd = New-Object System.Data.CData.ExcelCommand("UPDATE Sheet SET Name='Bob' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Excel へのデータの挿入

$cmd = New-Object System.Data.CData.ExcelCommand("UPDATE Sheet SET Name='Bob' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Excel データの削除

$cmd = New-Object System.Data.CData.ExcelCommand("UPDATE Sheet SET Name='Bob' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()