我使用PowerShell导入了一个逗号分隔的CSV文件。它被成功导入并且看起来正常。问题是,单元格包含公式,例如=20+50+70。除非我点击顶部字段中的回车键,否则不会计算。另一个问题是,有些单元格包含类似于=50,2+70,5这样的数字。Excel根本无法理解它们。除非我删除逗号或将其替换为点(.),否则它无法计算。但这不是一个可行的解决方案。如何解决这个问题?使用以下PowerShell命令导入CSV文件:
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
$wbpath=Join-Path "$psscriptroot" 'file.xlsx'
$importcsv=Join-Path "$psscriptroot" 'file.csv'
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $false
$xl.Workbooks.OpenText($importcsv)
$xl.DisplayAlerts = $false
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
$xl.ActiveWorkbook.SaveAs($wbpath,51)
$xl.Quit()
while([System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)){'released'}
The
[threading.thread]::CurrentThread.CurrentCulture = 'en-US'
如果我的系统语言环境不是美国英语,那么这个操作是必须的,否则会出错。
谢谢。
CSV 样例:
name1.name1.name1,"=20","=7,65","=20,01"
name2.name2.name2,"=20+10","=4,96+0,65","=20,01+10"
name3.name3.name3,"=20","=4,96+0,88","=21,01+11"