powershell函数转换为数字

时间:2015-04-22 07:34:53

标签: excel vba powershell

我使用powershell打开两个excel工作簿并将数据从一个复制到另一个,我导入的数据包含文本和数字数据。导入后,所有内容都被视为文本。 我有两列:A和B. A具有以下内容:01234567应转换为1234567 B具有以下内容:01234567.05应转换为1234567.05

当然我可以手动执行"转换为数字"功能,但此导入自动完成,因此无需执行手动操作。 (手动执行此操作的另一种方法是使用文本到列)

这不起作用,甚至不能手动,如果我尝试使用格式化功能进行转换,它没有做任何事情 工作表(" Sheet1")。范​​围(" A2:A5000")。NumberFormat =" 0000000"

2 个答案:

答案 0 :(得分:0)

在Powershell中,有几种方法可以转换为整数。 (Powershell没有数据类型编号)

$myInt = [int]"4527427"
$myInt = [int]::Parse("4527427")    
$myInt = [System.Convert]::ToInt32("4527427")

答案 1 :(得分:0)

$csvData = @"
A,B
01234567, 01234567.05
-123, 00045.06
"@

# Or Import-Csv <yourpath> -delimiter <yourdelimiter> in your case
$csv = ConvertFrom-Csv $csvData -delimiter ','

Write-Host ""
Write-Host "Before conversion"
$csv

Write-Host ""
Write-Host "After conversion"


# Or Import-Csv <yourpath> -delimiter <yourdelimiter> | %{ etc... in your case
$csv = ConvertFrom-Csv $csvData -Delimiter ',' | %{
 new-object PSObject -prop @{
    A = [int] ($_.A);
    B = [double] ($_.B);
  }
}

$csv