我正在从不同的Excel文件中读取值,然后编写一个包含其他所有信息的新文件。在执行此操作时,Excel似乎会自动更改“。”逗号“,”。我该如何预防?
我在Win10和Office365上使用Powershell ISE。 我尝试读写'value2'和'text'并编写它们。 我在编写value2时尝试将其转换为字符串。不工作。 Powershell中的变量将正确的值保存为字符串。 保存新的Excel文件后,正确的格式就消失了。
示例:值为“ 123.456”。我看得出来,Powershell变量显示为“ 123.456”。我将其写入Excel,然后打开Excel,其内容为: 123,456,并将其解释为数字而不是文本。
[...]
$tmp += ($worksheet.cells.item($intRow,$col).value2)
[...]
elseif($value -eq 6){
$sheet.Cells.item($intRow,$columncounter).value2 = ($tmp[$value]).ToString()
}
[...]
$objExcel=New-Object -ComObject Excel.Application
$objExcel.Visible=$false
$resultbook = $objExcel.Workbooks.Add()
$sheet = $resultbook.ActiveSheet
$sheet.Name = "Data"
$resultbook.SaveAs($name)
$resultbook.close()
预期:输入==输出,例如:1234.5678-> 1234.5678
实际结果:输入!=输出,例如1234.5678-> 1234,5678
对于所有其他字符串,文本,数字(包含点的字符除外)都可以正常工作。
我认为必须有一种方法可以在目标文件中指定单元格格式,但是我没有找到任何有关此文件的文档。 任何帮助将不胜感激。
答案 0 :(得分:1)
如果要使用Excel和PowerShell,我强烈建议使用下面列出的两个模块之一,它们会添加很多有用的功能: