Я использую CSV-файл как $ AgencyMaster с двумя столбцами, AgencyID и AgencyName. В настоящее время я вручную ввожу их из другого файла, $ Excel_File_Path, но я бы хотел автоматически сгенерировать $ AgencyMaster, если это возможно.
$ Excel_File_Path имеет три листа: Лист1, Лист2 и Шаблон. Sheet1 и Sheet2 заполнены данными, в то время как Template используется в качестве графического представления упомянутых данных, которые заполняются на основе AgencyID. У меня есть скрипт, который открывает $ Excel_File_Path, вводит AgencyID в определенную ячейку, сохраняет его, а затем преобразует его в PDF. Это делается для каждого идентификатора агентства в $ AgencyMaster, который в настоящее время превышает 200.
В $ Excel_File_Path столбцы B и C в Sheet1 и Sheet2 содержат все идентификаторы AgencyID и AgencyNames, но есть несколько дубликатов. Я не могу удалить ни одну из строк, потому что, хотя они являются дубликатами в столбцах B и C, столбцы D, E, F и т. Д. Содержат разные данные, используемые в шаблоне. Поэтому мне нужно иметь возможность взять каждый уникальный AgentID и AgencyName, которые могут появиться в Sheet1 или Sheet2, и экспортировать их в CSV для использования в качестве $ AgencyMaster.
Пример:
(https://i.imgur.com/j8UIZqp.jpg)
В столбце B указан AgencyID, а в столбце C - AgencyName. Я хотел бы экспортировать уникальные значения каждого из Sheet1 и Sheet2 в CSV $ AgencyMaster
Я нашел, как экспортировать его в другой лист в той же книге, просто не в отдельную книгу. Я также хотел бы сохранить его как .CSV с ведущими 0 в ячейке A.
# Checking that $AgencyMaster Exists, and importing the data if it does
If (Test-Path $AgencyMaster) {
$AgencyData = Import-CSV -Path $AgencyMaster
# Taking data from $AgencyMaster and assigning it to each variable
ForEach ($Agency in $AgencyData) {
$AgencyID = $Agency.AgencyID
$AgencyName = $Agency.AgencyName
# Insert agency code into cell D9 on Template worksheet
$ExcelWS.Cells.Item(9,4) = $AgencyID
$ExcelWB.Save()
# Copy-Item Properties
$Destination_File_Path = "$Xlsx_Destination\$AgencyID -
$AgencyName - $company $month $year.xlsx"
$CI_Props = @{
'Path' = $Excel_File_Path;
'Destination' = $Destination_File_Path;
'PassThru' = $true;
} # Close $CI_Props
# Copy & Rename file
Copy-Item @CI_Props
} # Close ForEach
} # Close IF