0

我有这个自动化脚本,它将采用 .htm 文件并生成要生成到电子表格中的自定义对象。

不幸的是,我的对象中的一个项目是一个很长的数字,所以当它导出到 .xlsx 时,它看起来像这样:

1.04511E+11

我知道在 Excel 中可以将格式更改为不带小数的数字,但我想知道是否有办法在我的脚本中更改格式;特别是因为这是一个自动化的过程。

这是我的脚本的一部分:

## Build custom object which allows for modification of the spreadsheet that will be generated
$xls = ForEach ($item in $spreadsheet | Where-Object {$PSItem.P4 -match '\w+'}) {
    [pscustomobject]@{
        ## Define the colums for the CSV file
        'MnsTransTy'      = $item.P1.TrimStart()
        'Del. Date'       = $item.P2
        'Time'            = $item.P3
        'Name 1'          = $item.P4
        'Purch.Doc.'      = $item.P5
        ## Remove white space
        'Cases'           = $item.P6.TrimStart()
        ## Remove white space
        'line'            = $item.P7.TrimStart()
        'Name'            = $item.P8
        ## Remove white space
        'Tot Pallet'      = $Item.P9.TrimStart()
    }
}

有问题的项目是 P5。我正在使用在这里找到的ImportExcel 模块: https ://github.com/dfinke/ImportExcel 。

对此的任何帮助将不胜感激!提前致谢!

4

1 回答 1

0

这可能是因为您从单元格中获取值作为字符串数据类型。您可以尝试明确指定数据类型(在您的情况下为 Double)。像这样:

[pscustomobject]@{
        ## Define the colums for the CSV file
        'MnsTransTy'      = $item.P1.TrimStart()
        'Del. Date'       = $item.P2
        'Time'            = $item.P3
        'Name 1'          = $item.P4
        'Purch.Doc.'      = [Double]$item.P5
        ## Remove white space
        'Cases'           = $item.P6.TrimStart()
        ## Remove white space
        'line'            = $item.P7.TrimStart()
        'Name'            = $item.P8
        ## Remove white space
        'Tot Pallet'      = $Item.P9.TrimStart()
    }
于 2018-09-01T02:33:21.730 回答