首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel com-object通过powershell

Excel com-object通过powershell
EN

Stack Overflow用户
提问于 2016-04-07 08:50:19
回答 1查看 1.8K关注 0票数 0

我正在通过powershell将数据输出到csv文件。一般来说,事情进展顺利。

我已经将数据导出到csv文件中。它包含大约10列。当我用MS打开它时,它都包含在第一列中。我希望通过powershell(相同的GUI版本)以编程方式将其拆分为几个列。我可以做循环和东西来分割每一行,然后把值放到适当的单元格中,但是这样做会花费太多的时间。

我认为应该有一个优雅的解决方案,将一列拆分为多列。有没有办法使它在一个简单的步骤,而不循环?

到目前为止,这就是我想出来的:

PS,CSV文件是100%的罚款。分隔符是',‘

代码语言:javascript
复制
Get-Service | Export-Csv -NoTypeInformation c:\1.csv -Encoding UTF8
$xl = New-Object -comobject Excel.Application
$xl.Visible = $true
$xl.DisplayAlerts = $False
$wb = $xl.Workbooks.Open('c:\1.csv')
$ws = $wb.Sheets|?{$_.name -eq '1'}
$ws.Activate()

$col = $ws.Cells.Item(1,1).EntireColumn

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-07 14:20:28

这将为您提供所需的功能;添加到您的代码中。有关MSDN页面的更多信息,请访问TextToColumns。

代码语言:javascript
复制
# Select column
$columnA   = $ws.Range("A1").EntireColumn

# Enumerations
$xlDelimited     = 1
$xlTextQualifier = 1

# Convert Text To Columns
$columnA.texttocolumns($ws.Range("A1"),$xlDelimited,$xlTextQualifier,$true,$false,$false,$true,$false)
$ws.columns.autofit()

我必须创建一个用"",""作为分隔符来测试这个值的CSV。使用","的文件在excel中很好。

代码语言:javascript
复制
# Opens with all fields in column A, used to test TextToColumns works
"Name,""field1"",""field2"",""field3"""
"Test,""field1"",""field.2[]"",""field3"""

# Opens fine in Excel
Name,"field1","field2","field3"
Test,"field1","field.2[]","field3"

免责声明:用$ws = $wb.Worksheets.item(1)测试的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36471135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档