Я читаю значения из разных файлов Excel и составляю новый, содержащий информацию из всех остальных.При этом Excel, кажется, автоматически меняет «.»до запятой ','.Как мне это предотвратить?
Я использую Powershell ISE на Win10 и Office365.Я пытался читать и писать «value2» и «текст» и писать их.Я пытался привести значение2 к строке, когда я пишу это.Не работал.Переменные в Powershell содержат правильные значения в виде строк.В тот момент, когда я сохраняю новый файл Excel, правильный формат исчезает.
Пример: значение равно «123.456».Я могу прочитать это, переменная Powershell показывает «123.456».Я записываю его в Excel и затем открываю Excel, он читает: 123 456 и интерпретирует его как число вместо текста.
Как я читаю значение
[...]
$tmp += ($worksheet.cells.item($intRow,$col).value2)
Как я пишу значение(я пробовал «value» и «text» для обоих)
[...]
elseif($value -eq 6){
$sheet.Cells.item($intRow,$columncounter).value2 = ($tmp[$value]).ToString()
}
[...]
Вот как я открываю файл excel для записи:
$objExcel=New-Object -ComObject Excel.Application
$objExcel.Visible=$false
$resultbook = $objExcel.Workbooks.Add()
$sheet = $resultbook.ActiveSheet
$sheet.Name = "Data"
Так я сохраняю excelfile
$resultbook.SaveAs($name)
$resultbook.close()
Ожидается: Input == Output, пример: 1234.5678 -> 1234.5678
Фактический результат: Input! = Output, пример 1234.5678 -> 1234,5678
Он отлично работает для всех других строк, текстов, чисел, кроме тех, которые содержат точки.
Я предполагаю, что должен быть способ указать формат ячейки в целевом файле, однако я не нашел никакой документации по этому вопросу.,Любая помощь с благодарностью.