如何将所有列转换为文本,同时使用 TextToColumns,默认情况下它是通用格式 - 使用 Powershell

How to convert all columns to Text, while using TextToColumns, by default it was in General format - Using 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))

Option in Excel
如何使用 powershell 在 TextToColumn() 中使用上述选项?

Range.TextToColumns documentation 看来,您的 @(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。

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