Excel / Скопируйте 2 столбца в один с помощью powershell

#excel #powershell #copy-paste

Вопрос:

Я действительно новичок в powershell и пытаюсь написать сценарий, который поможет мне скопировать 2 или более столбцов и вставить их только в один с определенным форматом.

Чего я хочу, так это чего-то подобного :

пример

Прошло 2 дня, я искал правильный синтаксис и не могу его найти

Спасибо за вашу помощь !

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

На самом деле, я пытаюсь узнать, как работают 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)
 

Ответ №2:

Преобразуйте свои данные в CSV с помощью примера. После этого зависит от того, что вы хотите сделать, хотите ли вы включить нулевые свойства или нет …

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