У меня есть файл .xlsx, который был преобразован в таблицу данных с помощью oledb provider. Теперь я хочу добавить значение к этому .xlsx на основе данных таблицы sql, которые у меня есть
(который также конвертируется в CSV-файл Book1.csv
)
Таблица sql состоит из имени и примечаний ...
Где столбец имени одинаков как в файле .xlsx, так и в переменной sql $sql
Я хочу добавить эти закрывающие примечания к столбцу f
файла .xlsx, если значение имени совпадает со значением столбца sql таблицы «A». Первый, который я написал ниже, очень медленный и неэффективный.
Любая помощь будет принята с благодарностью.
$Excel = New-Object -ComObject Excel.Application
$Workbook = $Excel.Workbooks.Open('C:\Users\VIKRAM\Documents\Sample - Superstore.xlsx')
$workSheet = $Workbook.Sheets.Item(1)
$WorkSheet.Name
$Found = $WorkSheet.Cells.Find('$Data.number')
$Found.row
$Found.text
$Excel1 = New-Object -ComObject Excel.Application
$file = $Excel1.Workbooks.Open('C:\Users\VIKRAM\Documents\Book1.xlsx')
$ff=$file.Sheets.Item(1)
$ff.Name
$ff1=$ff.Range("A1").entirecolumn
$ff1.Value2
foreach ($line in $ff1.value2){
if( $found.text -eq $line)
{
Write-Host "success"
$fff=$ff1.Row
$WorkSheet.Cells.item($fff,20) =$ff.cells.item($fff,2)
}
}
Данные в файле .xlsx
Number Priority Comment
612721 4 - High
Данные в Book1.csv
Number Clo_notes
612721 Order has been closed
Мне нужно обновить значение clo_notes, чтобы комментировать в файле .xlsx, если этот «числовой» столбец в каждом файле совпадает, обновить clos_notes до соответствующего столбца комментария