2017-06-15 85 views
1

我有一个主要的方法,这只是试图打开一个Excel工作簿。这个脚本也适用于其他机器,但我无法在这台机器上运行。它启动后台EXCEL.exe进程,但不打开Excel窗口。C#Microsoft.Office.Interop.Excel不会打开Excel窗口

如果我在任务管理器中结束该过程,然后打开excel,它将在文档恢复窗格的mySheet字符串变量中显示工作簿。所以开了一些东西我只是看不到它。我在这里错过了什么?

在Visual Studio 2017中使用控制台应用程序。Excel 2016 64位。

using Excel = Microsoft.Office.Interop.Excel; 

static void Main(string[] args) 
    { 
     try 
     { 
      string mySheet = @"C:\\Users\\dwh002\\Documents\\ZIP_COUNTY_032017.xlsx"; 
      var excelApplication = new Excel.Application(); 
      excelApplication.Visible = true; 
      var workbooks = excelApplication.Workbooks; 
      var workbook = workbooks.Open(mySheet); 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
+0

您是否检查过程是否以用户身份运行?不像管理员,本地系统或东西那样运行。 –

+0

我在Visual Studio中以自己的身份运行它(我是我的计算机上的管理员)。没有比这更简单的了。我有一个类似的脚本,可以使用Microsoft.Office.Interop.Outlook程序集打开Outlook邮件窗口,该程序完美地工作。有些事告诉我Interop.Excel程序集有些问题。 –

+0

您可以在最后尝试一个Console.ReadLine(),以阻止您的应用程序关闭,也许会发生一些不需要的清理。 –

回答

1

移动工作簿下方的Visible = true行。打开工作。我不确定为什么这台机器是唯一有这个顺序的代码有问题的人,但我很高兴它的工作。