【发布时间】:2014-08-29 06:34:51
【问题描述】:
我正在编写一个脚本,它在 Excel 文档中导入一个大的 csv 文件。 我尝试使用更快的方式输入数据并将数组直接传递给Excel而不循环它。
$p = Import-Csv -Path "C:\Report.csv" -Delimiter "`t"
$Excel01 = New-Object -ComObject Excel.Application
$Excel01.Visible = $True
$Workbook01 = $Excel01.Workbooks.Add()
$Worksheet01 = $Workbook01.Sheets.Item(1)
$Worksheet01.Activate()
$Worksheet01.Range("A1:D1").EntireColumn.Value() = $p | select field1,field2...
但是当我运行它时它会挂起......我该怎么做?
【问题讨论】:
-
直接在Excel中打开CSV文件有什么问题?
-
或者使用从文本向导导入。
-
David Brabant,我需要查询 SQL 服务器以获取数据并将其保存为 xlsx 文件并通过电子邮件发送(并重复多次),这就是我尝试自动化这些操作的原因。因此,我使用 bcp 命令行工具将数据从 mssql 导出到 csv 文件,然后我需要以某种方式将其转换为 Excel 格式。
标签: excel powershell csv import