PowerShell数据集到Excel

时间:2017-07-05 13:56:42

标签: excel excel-vba powershell ado powershell-v4.0 vba

我有一个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++
        }

1 个答案:

答案 0 :(得分:0)

你试试PSExcel模块。没有必要创建COM对象,甚至安装了Excel。你的例子看起来像这样,并且闪电般快速:

$dataset.Tables[0] | 
Select-Object ID,Name,Age | 
Export-XLSX -Path $FullName -AutoFit -WorksheetName 'MyData'