【问题标题】:Excel / Copy paste 2 Columns into one using powershellExcel /使用powershell复制将2列粘贴到一列
【发布时间】:2021-12-07 02:55:12
【问题描述】:

我是 powershell 的新手,我尝试编写一个脚本来帮助我复制 2 列或更多列并将其粘贴到仅具有特定格式的列中。

我想要的是这样的:

example

寻找正确的语法已经 2 天了,但我找不到它

感谢您的帮助!

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: excel powershell copy-paste


【解决方案1】:

通过示例将您的数据转换为 CSV。之后取决于您要做什么,是否要包含空属性...

Import-Csv -Path filepath | Select-Object -Properties *, @{"l"="Col4", e={ "`"$($_.Col1)`", `"$($_.Col2)`",`"$($_.Col3)`",`"`",`"`"" } } | Export-CSV -Path outputpath -Encoding UTF8 -NoTypeInformation

【讨论】:

    【解决方案2】:

    实际上,我尝试学习 excel 和 powershell 的工作原理(我是 1 周前开始的,所以我什么都不知道) 我找到了一个脚本来复制/粘贴一些列。我了解它是如何工作的,但我知道我只想将这些列粘贴到一个中(就像我说的那样)

    这是我的脚本:

    $ExcelPath = ''
    $Excel = New-Object -ComObject Excel.Application
    $Excel.Visible = $true
    $WorkBook = $Excel.Workbooks.Open($ExcelPath)
    $Worksheet = $Workbook.WorkSheets.item(“lolo”)
    $Worksheet2 = $Workbook.WorkSheets.item(“lala”)
    
    $worksheet.activate()
    $lastRow1 = $worksheet.UsedRange.rows.count
    $range1 = $worksheet.Range("A2:C$lastRow1")
    $range1.copy()
    
    $worksheet2.activate()
    $lastRow2 = $worksheet2.UsedRange.rows.count + 1
    $range2 = $worksheet2.Range("A$($lastRow2)")
    $worksheet2.Paste($range2)
    

    【讨论】:

      猜你喜欢
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      相关资源
      最近更新 更多