ユーザ用ツール

サイト用ツール


powershell:excelをcsvから更新1

文書の過去の版を表示しています。


# Excelモジュールを読み込む
Import-Module ImportExcel

# ファイルパスを定義
$excelFilePath = "TEST.xlsx"
$backupDate = (Get-Content $excelFilePath | Select-Object -ExpandProperty 'AB2').ToString("yyyyMMdd")
$backupFilePath = $backupDate + "_TEST.xlsx"

# 元のファイルのバックアップを作成
Copy-Item $excelFilePath $backupFilePath

# Excelファイルを開く
$excel = Open-ExcelPackage -Path $excelFilePath

# シートとCSVを取得
$sheetHistory = $excel.Workbook.Worksheets['履歴']
$sheetObject = $excel.Workbook.Worksheets['オブジェクト']
$sheetPolicy = $excel.Workbook.Worksheets['ポリシ']
$csvObject = Import-Csv "Object.csv"
$csvPolicy = Import-Csv "Polisy.csv"

# シートとCSVを比較して更新
$UpdateSheetSummary = # A列からH列までのシートとCSVファイルを比較して更新するコード

# 「履歴」シートを更新
$sheetHistory.AB2.Value = (Get-Date).ToString("yyyy/MM/dd")
$sheetHistory.W2.Value = [math]::Floor($sheetHistory.W2.Value) + 1

# C列にRevision、H列にUpdateDate、M列にUpdateSheet、R列にUpdateDetailsがあります
$lastUpdateRow = ($sheetHistory.Cells["C:C"].Where({$_.Value -ne $null}) | Select-Object -Last 1).Start.Row
$updateRow = $lastUpdateRow + 3

$sheetHistory.Cells["C$updateRow"].Value = $sheetHistory.W2.Value
$sheetHistory.Cells["H$updateRow"].Value = $sheetHistory.AB2.Value
$sheetHistory.Cells["M$updateRow"].Value = $UpdateSheetSummary
$sheetHistory.Cells["R$updateRow"].Value = (Get-Date).ToString("yyyy/MM/dd") + " $UpdateSheetSummary (LF)(LF)"

# Excelファイルを保存して閉じる
Close-ExcelPackage $excel -Show
powershell/excelをcsvから更新1.1680770518.txt.gz · 最終更新: 2023/04/06 08:41 by taatin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki