首页 > 解决方案 > 在 PowerShell 中汇总 Excel 单元格

问题描述

我想将excel表格中的单元格数量汇总到数组单元格中。不幸的是,它将单元格中的数字保存为字符串,而不是实际总和。厌倦了将单元格类型更改为“值”,但它似乎不起作用。

如何从单元格中获取“双”类型的值?

$EntryAmmount[25] = $IncomingSummary1Worksheet.Cells.Item(69,18).Text + $IncomingSummary1Worksheet.Cells.Item(71,18).Text

在这种情况下,它会引发此错误(0.00 和 29,453.17 是单元格中的值):

Cannot convert value "0.0029,453.17" to type "System.Double". Error: "Input string was not in a correct format."
At C:...PS.ps1:148 char:5
+     $EntryAmmount[25] = $IncomingSummary1Worksheet.Cells.Item(69, ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvalidCastFromStringToDoubleOrSingle

标签: excelpowershellcell

解决方案


您需要将值转换为 double,在您当前的代码中 op_addition ( +) 方法作用于字符串类型,因此将它们连接起来。

尝试:

$EntryAmmount[25] = [double]$IncomingSummary1Worksheet.Cells.Item(69,18).Text + [double]$IncomingSummary1Worksheet.Cells.Item(71,18).Text

推荐阅读