PowerShellでExcelファイルを操作する方法
PowerShellでExcelを処理できます。今回は基本形ということで既存のExcelファイルの指定セルに文字を入れる方法を紹介します。Book1.xlsxというファイルのSheet1のA1セルに「Test」という文字列を入れるプログラムです。
# Excelオブジェクト作成 $excel = New-Object -ComObject Excel.Application $excel.Visible = $false # 既存のExcelファイル(Book1.xlsx)を開く $book = $excel.Workbooks.Open("C:\...\Book1.xlsx") # シート(Sheet1)を指定 $sheet = $excel.Worksheets.Item("Sheet1") # A1セルにテキストを入力 $sheet.Cells.Item(1,1) = "Test" # 保存 $book.Save() # ブックを閉じる $book.Close() $excel.Quit() #↓これめっちゃ大事。$excel.Quit()だけではプロセスは落ちない。タスクマネージャーに残さないために。 [void][System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($sheet) [void][System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($book) [void][System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($excel)
指定の場所にあらかじめBook1.xlsxを用意しておいて以下のようにPowershellで実行するとExcelファイルが開くことなく静かに実行し終了します。見た目は何も起きていない風です。
Book1.xlsxを開くと、ご覧の通りA1セルに「Test」という文字が入りました。
スポンサーリンク