Я могу прочитать и вставить лист Excel в мою базу данных sql. Теперь у меня есть одна строка, которая содержит несколько записей, но она обрывается после нулевой записи. Как мне адаптировать код для обработки полного листа Excel?
Я пробовал цикл while, но, похоже, это не сработало.
#loop down through the excel rows on sheet 1 until a blank row is
encountered, inserting each row into SQL Server
Do {
$ColValues1 = $Worksheet.Cells.Item($RowNum, 1).Value()
$ColValues2 = $Worksheet.Cells.Item($RowNum, 2).Value()
$ColValues3 = $Worksheet.Cells.Item($RowNum, 3).Value()
$ColValues4 = $Worksheet.Cells.Item($RowNum, 4).Value()
$SQL = "insert into xxxx (xxx, xxx, xxx, xxx) values ('$ColValues1',
'$ColValues2', '$ColValues3', '$ColValues4')" write-host "SQL = $SQL"
Invoke-SQLCmd -ServerInstance $serverName -Database $database -
Username $username -Password $pwd -Erroraction Stop`-Query $SQL
if ($error.count > 0) {throw 'sql error in ' + $SQL}
$RowNum++
}
While ($Worksheet.Cells.Item($RowNum,1).Value() -ne $null)
}