Excel在PowerShell中的function

我是Powershell的新手,我需要将文本文件parsing为excel和编辑内容。

我设法用下面的脚本打开文件:

$Excel = New-Object -ComObject Excel.Application $Excel.Visible = $true $Excel.DisplayAlerts = $false $Excel.Workbooks.OpenText( "Documents\myfile.txt") 

它毫无例外地运行,但我留下来的数据告诉我文件没有正确加载。

我需要设置参数像FieldInfo出口。

我该怎么做呢?

感谢帮助。

当您通过文本文件或手动input将数据带入Excel时,Excel将尝试解释它是什么types的数据,文本,date或编号。 您正在将看起来像数字的文本引入Excel中。

一个解决scheme是让Powershell做所有的工作,让它加载文件,然后遍历每一行。 然后可以在加载数据之前强制格式化。

像这样的东西:

 $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $true $wb = $Excel.Workbooks.add() $ws = $wb.Worksheets[1] Import-Csv "Documents\myfile.txt" | % {$i = 1}{ $ws.Range("A" + $i).NumberFormat = '@' $ws.Range("A" + $i).Value = $_.Field1 #Repeat for each field $i++ ) 

您必须从文件中获取项目才能在Excel中加载它。 这样做:

 $excel = new-object -comobject excel.application $file = get-item "E:\myfile.txt" # Mention the path of the file $excel.Visible=$true $excel.displayalerts = $False $wb = $excel.workbooks.open($file) 

希望它可以帮助你。