我正在编写一个脚本,我试图将多个 csv 合并到一个 Excel 文件中,其中 csv 文件名作为不同的工作表。
所有 csv 文件都具有相同的列数和名称。
我的服务器上没有安装 Excel,所以我使用以下代码编写了此代码ImportExcel
:
#Install-Module ImportExcel -scope CurrentUser
$path="C:\Scripts" #target folder
cd $path;
$csvs = Get-ChildItem .\* -Include *.csv
$csvCount = $csvs.Count
Write-Host "Detected the following CSV files: ($csvCount)"
foreach ($csv in $csvs) {
Write-Host " -"$csv.Name
}
$excelFileName = $path + "\" + $(get-date -f yyyyMMdd) + "_combined-data.xlsx"
Write-Host "Creating: $excelFileName"
foreach ($csv in $csvs) {
$csvPath = $path + $csv.Name
$worksheetName = $csv.Name.Replace(".csv","")
Write-Host " - Adding $worksheetName to $excelFileName"
Import-Csv -Path $csvPath | Export-Excel -Path $excelFileName -WorkSheetname $worksheetName
该脚本需要时间并且执行没有任何问题,但没有生成 Excel 工作表。
请你能帮我找到并解决这个脚本中的问题吗?