PowershellからExcelに入力

指定のセルに毎回入力するのがめんどくさいので Pythonのopenpyxlで作ったら線が崩れるので別の方法を探していたところ Powershellからだと崩れずきれいに入力できた

letspowershell.blogspot.jp

qiita.com

$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false

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

Import-Csv 'test.tsv' -Delimiter "`t" | ForEach-Object {
  $sheet.Range($_.cell) = $_.data
}


# 上書き保存
$book.Save()

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

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

セルのアドレス 書き込みデーターのTSVファイル作成

cell data
A1 あいうえお
B2 かきくけこ
B3 さしすせそ

そのままでは実行できないのでバッチファイル作成

@echo off
chcp 65001
echo EXCELに書き込みします…
powershell -NoProfile -ExecutionPolicy Unrestricted .\powershell.ps1 %1
echo 完了しました!
pause > nul
exit

kan3aa.hatenablog.com

qiita.com