我有一个PowerShell脚本,它从数据库中提取数据并将其推送到Excel工作表。当记录数量超过200K时,我将数据集中的记录复制到Excel工作表时面临缓慢(约45分钟)。我试图使用下面的代码片段逐个循环它们,这需要更多的时间。有没有办法可以更有效地将数据从数据集传输到Excel?
$cells=$Worksheet.Cells
$row=1
foreach ($rec in $dataset.Tables[0].Rows)
{
$row++
$col=1
$cells.item($Row,$col)=$USR.ID
$col++
$cells.item($Row,$col)=$USR.Name
$col++
$cells.item($Row,$col)=$USR.Age
$col++
}
答案 0 :(得分:0)
你试试PSExcel模块。没有必要创建COM对象,甚至安装了Excel。你的例子看起来像这样,并且闪电般快速:
$dataset.Tables[0] |
Select-Object ID,Name,Age |
Export-XLSX -Path $FullName -AutoFit -WorksheetName 'MyData'