我有一个 Excel 文件,其中三列设置为“数字”。但是,当我打开该文件时,我会看到以下内容:
我在这里找到了一个有用的链接:堆栈溢出链接 https://stackoverflow.com/questions/68941811/attempting-to-use-powershell-to-emulate-the-convert-to-number-function-in-excel
我已经尝试过这种方法,但出现以下错误。我做错了什么吗:
$wb = 'C:\Users\user1\Documents\Working Folder\239\239_uploadFile.xlsx'
$excel = new-object -ComObject excel.application
$excel.visible = $false
$excel.DisplayAlerts = $false
$wb = $excel.workbooks.open($wb)
$ws1 = $wb.worksheets.item(3)
$ws1.columns.item(1).numberformat = 0
$ws1.Columns.item(14).Value = $ws1.Columns.item(14).Value
$wb.Save()
$wb.close()
$excel.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($excel)
Remove-Variable excel`
[
因此,请尝试以下操作:
& {
$wb = 'C:\Users\user1\Documents\Working Folder\239\239_uploadFile.xlsx'
$excel = new-object -ComObject excel.application
$wb = $excel.workbooks.open($wb)
$ws1 = $wb.worksheets(3)
$ws1.columns(1).numberformat = 0
# Note the use of .Value2, not .Value
$ws1.Columns(14).Value2 = $ws1.Columns(14).Value2
$wb.Save()
$wb.close()
$excel.Quit()
}
注意使用& { ... }
,即在 a 中执行与 Excel 相关的代码子范围。这使得调用 和Remove-Variable excel
不必要-参见这个答案 https://stackoverflow.com/a/55423449/45375了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)