Импорт файла CSV в новый лист Excel в существующей книге Excel - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь импортировать 2 разных файла CSV в книгу Excel на 2 разных листах.

Я понял, как создать книгу Excel и импортировать один из файлов CSV. Но при создании новой рабочей таблицы я не могу импортировать второй CSV-файл в новую рабочую таблицу так же, как импортировал первый CSV-файл.

$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $true
$Excel = $Excel.Workbooks.open(C:\Temp\CSVfile1.csv)

#Create new worksheet and import 2nd CSV file
$Excel.Worksheets.add()
$Excel.Sheets(1).Name = 'Errors'
$Excel2 = $Excel.Workbooks.open(C:\Temp\CSVfile2.csv)

Первый импорт CSV-файла выполнен успешно. 2-й рабочий лист создан, но 2-й файл CSV не импортирован.

Отображаемое сообщение об ошибке:

You cannot call a method on a null-valued expression.

1 Ответ

1 голос
/ 23 мая 2019

Я настоятельно рекомендую использовать модуль ImportExcel для любых файлов, связанных с Excel, с ними намного проще работать, и для его работы требуется всего пара секунд.Кроме того, преимущество заключается в использовании чтения и редактирования файлов Excel без необходимости установки Microsoft Excel.

См. Следующий пример, чтобы выполнить то, что вы ищете, с помощью модуля ImportExcel:

Import-Csv -Path 'C:\Temp\CSVfile1.csv' | Export-Excel -Path 'C:\Temp\ExportExcelTest.xlsx' -WorkSheetname 'Sheet1'
Import-Csv -Path 'C:\Temp\CSVfile2.csv' | Export-Excel -Path 'C:\Temp\ExportExcelTest.xlsx' -WorkSheetname 'Errors'

Кроме того, ImportExcel также поставляется со многими вариантами форматирования, которые могут быть вам полезны.Я не могу порекомендовать его более, чем использовать ComObject для изменения файла Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...