Excel Interop的RefreshAll()方法是如何工作的?

有一堆excel文件。 每个excel文件都有连接到SQL Server Analysis(SSAS)多维数据集的各种数据透视表。 平均而言,手动完成时,每个文件需要大约30到60分钟才能刷新。 我正在自动化写这个C#程序。

遍历每个文件,这些是步骤:

  • 实例化excel应用程序
  • 打开工作簿
  • 调用.RefreshAll()方法
  • closures工作簿
  • 退出excel应用程序。

目前,我已经做了顺序执行。 没有multithreading。 我打开进程资源pipe理器,我发现在进行文件刷新时,对于excel进程,CPU占用1%到2%左右。

我的问题是将在多个线程上运行这些步骤带来的程序的总时间? 是.RefreshAll()方法IO密集? 如果是这样,IO会成为我所有multithreading的瓶颈吗?