首页 > 解决方案 > 如何在使用 TextToColumns 时将所有列转换为文本,默认情况下它是通用格式 - 使用 Powershell

问题描述

我需要使用分隔符拆分文本|。但是在拆分其截断的前零之后:

输入

0001|00030455|testing
0003|00004532|testing

预期产出

0001  00030455  testing
0003  00004532  testing

像这样获取输出

1  30455  testing
3  4532   testing

试过这个

$colA=$wst.range("A1").EntireColumn
$colrange=$wst.range("A1")
$colA.texttocolumns($colrange,1,-4142,$false,$false,$false,$false,$false,$true,"|",@(1,3))

Excel 中的选项
如何使用 Powershell 在 TextToColumn() 中使用上述选项?

标签: excelpowershellexcel-automation

解决方案


Range.TextToColumns 文档看来,您@(1,3)的列类型应该放在哪里,也就是说第一列应该是 MDY 日期格式的日期,这看起来不正确。

相反,我认为应该是:

@((1,2),(2,2),(3,2))

# so

$colA.TextToColumns($colRange,1,-4142,$false,$false,$false,$false,$false, $true,"|",@((1,2),(2,2),(3,2)))

即第 1 列类型 2(xlTextFormat),第 2 列类型 2,第 3 列类型 2。

在快速测试中这似乎对我有用:

Excel 电子表格显示带有前导零的输出


推荐阅读