PowerShellでExcelの指定シートのセルを取得

# シート名
$name = 'Sheet1'

# 抽出セル
$cell = @('A1:D2', 'A1:D1', 'A2', 'B2', 'C2', 'D2')

# 抽出データリスト
$data = @()

# 拡張子変更
$newtext = $args[0] -replace '\.xlsx$', '.txt'

$excel = New-Object -ComObject Excel.Application

# Excel非表示
$excel.Visible = $false

$book = $excel.Workbooks.Open($args[0])
$sheet = $book.Sheets($name)

# データ抽出
foreach ($i in $cell) { $sheet.Range($i) | ForEach-Object { $data += $_.Text } }

# 改行で結合後、ファイルに出力
$data -join "`n" | Out-File -Encoding UTF8 $newtext

$book.Close($false)

# Excelを閉じる
$excel.Quit()

# プロセスを解放する
$excel = $null
[GC]::Collect()