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

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Excel Services ADO.NET Provider

SharePoint サーバーでホストされているリアルタイムなExcel スプレッドシートコンテンツを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。



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



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

クエリの実行

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

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

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

    Authentication セクションのURL、User、およびPassword プロパティを、SharePoint Online、SharePoint 2010、SharePoint 2013 の有効なクレデンシャルに設定します。さらに、Library プロパティを有効なSharePoint Document ライブラリに設定し、File プロパティを指示されたライブラリの有効な.xlsx ファイルに設定する必要があります。

    $constr = "URL=https://myorg.sharepoint.com;User=admin@myorg.onmicrosoft.com;Password=password;File=Book1.xlsx;" $conn= New-Object System.Data.CData.ExcelServices.ExcelServicesConnection($constr) $conn.Open()
  3. ExcelServicesDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT Name, AnnualRevenue from Account" $da= New-Object System.Data.CData.ExcelServices.ExcelServicesDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.name $_.annualrevenue }

Excel Services データの更新

$cmd = New-Object System.Data.CData.ExcelServicesCommand("UPDATE Account SET Industry='Floppy Disks' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelServicesParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Excel Services へのデータの挿入

$cmd = New-Object System.Data.CData.ExcelServicesCommand("UPDATE Account SET Industry='Floppy Disks' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelServicesParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

Excel Services データの削除

$cmd = New-Object System.Data.CData.ExcelServicesCommand("UPDATE Account SET Industry='Floppy Disks' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.ExcelServicesParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()