从左到右计算电子表格

时间:2014-10-10 18:45:18

标签: powershell

是否有实用的方法:

  • 打开电子表格
  • 从左到右刷新所有工作表
  • 保存

以编程方式使用Powershell?

1 个答案:

答案 0 :(得分:1)

您可以自动化Excel(这需要在您运行脚本的计算机上安装Excel):

$excel = new-object -comobject Excel.Application

$excel.DisplayAlerts = $false
$excel.Visible = $false   # change to $true if you want see what's happening

$workbook = $excel.Workbooks.Open("myfile.xlsx")
foreach ($sheet in $workbook.Worksheets) { $sheet.Calculate() }
$workbook.Save()
$excel.Quit()

"从左到右"枚举工作表将按从左到右的顺序给出它。

请注意,如果您的工作表依赖于外部数据,这还不够 - 您还需要刷新外部连接中的所有数据:

foreach ($connection in $workbook.Connections) { $connection.Refresh() }

由于每张纸的连接不是特定的,因此不会定义数据更新的顺序,除非您以某种方式小心地按顺序创建连接(或者为它们指定允许您将它们与工作表关联的特定名称) )。