2015-06-23 4 views
1

Я пытаюсь открыть ранее существовавший файл excel из каталога на моем компьютере. Тем не менее, я получаю COM-код, когда мой код попадает в метод Workbooks.Open. Я не уверен, что я донг ошибаюсь. Любая помощь приветствуется.Открытие ранее существовавшего файла excel

using Microsoft.Office.Interop.Excel; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using Excel = Microsoft.Office.Interop.Excel; 
using System.Xml; 

namespace Excel_Create 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 


      string mySheet = @"‪‪‪‪C:\Users\Danny\Documents\Visual Studio 2013\Projects\MWS\MWS\bin\Debug\csharp-Excel.xls"; 
       Excel.Application xlApp = new Excel.Application(); 
       xlApp.Visible = true; 


       if (xlApp == null) 
       { 
        MessageBox.Show("Excel is not properly installed!!"); 
        return; 
       } 



     Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(mySheet, 
      0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", 
      true, false, 0, true, false, false    ); 

     } 
    } 
} 

Вот что говорит исключение: Необработанное исключение типа 'System.Runtime.InteropServices.COMException' произошло в Excel_Create.exe

Дополнительная информация: «C: \ Users \ Danny \ Documents \ Visual Studio 2013 \ Projects \ MWS \ MWS \ bin \ Debug \ csharp-Excel.xls не удалось найти. Проверьте правильность написания имени файла и убедитесь, что расположение файла верное.

+1

ли файл там? –

+0

Если файл есть, открыт ли он в другом приложении (например, Excel)? – adv12

+0

Да, это так. Это рабочий лист Microsoft Excel 97-2003 (.xls), сохраненный в: C: \ Users \ Danny \ Documents \ Visual Studio 2013 \ Projects \ MWS \ MWS \ bin \ Debug \ csharp-Excel.xls Скопировать/вставить из свойств просмотр файла. –

ответ

0

Я думаю, что у вас проблемы с пробелами в пути к файлу.

Попробуйте это вместо:

string mySheet = @"""C:\Users\Danny\Documents\Visual Studio 2013\Projects\MWS\MWS\bin\Debug\csharp-Excel.xls"""; 
+0

Nope не работал, копировал и вставлял ваш код поверх моего и запускал - по-прежнему такая же ошибка –

+0

@ DanielTaki вы уверены в расширении имени файла? В более новых версиях Excel используйте '.xlsx' вместо' .xls'. Вы уверены, что это '.xls'? – David

+0

Нет. Я не уверен, что Excel из Microsoft Office 2010. Должен ли я попытаться сохранить файл в формате .xlsx и попытаться снова запустить программу? –

2

Найдено решение, которое работало для меня:

 var mySheet = Path.Combine(Directory.GetCurrentDirectory(), "Sample.xlsx"); 
      Excel.Application xlApp = new Excel.Application(); 
      xlApp.Visible = true; 


      if (xlApp == null) 
      { 
       MessageBox.Show("Excel is not properly installed!!"); 
       return; 
      } 

      try 
      { 
       Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(mySheet); 

      } 
      catch(Exception ex) 
      { 
       xlApp.Quit(); 

      } 
0

вы можете попробовать это ......

Excel.Application excelApp = 
System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
Смежные вопросы