仅关闭CSV

时间:2015-06-19 11:21:23

标签: excel powershell

如何在PowerShell中关闭特定的Excel工作簿?

我有一个脚本可以打开4个CSV文件和一个XLS文件并操作一些数据。我在关闭CSV文件并打开XLS文件时遇到问题。

我尝试了$xl.workbooks.close(),但这会关闭所有内容。我试过$file.close()但仍然没有运气。还尝试打开这样的工作簿:

$xl3 = $xl.workbooks.open($wfile) | Out-Null
$xl4 = $xl.workbooks.open($xfile) | Out-Null
$xl5 = $xl.workbooks.open($yfile) | Out-Null
$xl6 = $xl.workbooks.open($zfile) | Out-Null

然后关闭它们

$xl3.Close()

2 个答案:

答案 0 :(得分:0)

您应该可以使用以下内容关闭CSV:

$xl.Workbooks | ? { $_.Name -like '*.csv' } | % {
  $_.Close($false)
}

调用Close方法并将SaveChanges参数设置为$false会丢弃所有未保存的文件更改。

答案 1 :(得分:0)

删除out-null已解决问题