Подведите итог ячеек Excel в PowerShell - PullRequest
0 голосов
/ 05 июня 2018

Я хочу суммировать количество ячеек из листа в 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

1 Ответ

0 голосов
/ 05 июня 2018

Вам необходимо привести значения в удвоенное значение, в вашем текущем коде метод op_addition (+) действует на строковые типы и, следовательно, объединяет их.

Попробуйте:

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