【发布时间】:2021-08-05 22:33:42
【问题描述】:
我收到了特定格式的 Excel 电子表格,其中包含两列具有相同的列标题名称 - 我不需要,但电子表格的格式不会改变,因此我必须解决这两列。
我正在尝试使用 PowerShell 和 Import-Excel 模块仅选择我需要的列,然后导出到新的电子表格,以便 SSIS 进程可以提取它们。
我觉得我快到了,但我的脚本中有一些东西正在导入出于某种原因应该排除的列。查看下面的屏幕截图,它似乎正试图从电子表格中引入标题,我不知道如何解决这个问题。我确实尝试在导出上添加 -NoHeader 标记,但没有奏效。
PS 脚本:
Clear-Host
$SourceFileDirectory = "C:\STLFeeReport\Test\"
$CurrentDate = Get-Date -Format "yyyyMMdd"
$TestFile = "Test2"
$ExcelExt = ".xlsx"
$ExcelFiles = Get-ChildItem $SourceFileDirectory -Filter *.xlsx
foreach ($file in $ExcelFiles)
{
$ImportFile = -JOIN($SourceFileDirectory,$file)
$DestinationFile = -JOIN($SourceFileDirectory,$TestFile,"_",$CurrentDate,$ExcelExt)
Write-Host $ImportFile
Write-Host $DestinationFile
$data = Import-Excel -Path $ImportFile -HeaderName "CompanyID", "CompanyName", "CreateDate", "FileName", "ReferenceNumber" | Select-Object "CompanyID", "CompanyName", "CreateDate", "FileName", "ReferenceNumber"
Write-Host $data
Import-Excel -Path $ImportFile -HeaderName "CompanyID", "CompanyName", "CreateDate", "FileName", "ReferenceNumber" | Select-Object "CompanyID", "CompanyName", "CreateDate", "FileName", "ReferenceNumber" | Export-Excel -Path $DestinationFile | Select-Object "CompanyID", "CompanyName", "CreateDate", "FileName", "ReferenceNumber"
}
原始电子表格中的数据如下所示:
这是脚本运行后数据的样子:
以下是我想要的输出:
【问题讨论】:
标签: powershell