none
Problema al leer archivo excel RRS feed

  • Pregunta

  • Buen día,

    Alguien sabra por que me sale este error al intentar leer un archivo excel el error me lo marca en esta linea:

    Microsoft.Office.Interop.Excel.Workbook wb = arch.Workbooks.Open(opd.FileName);

     

    estoy ocupando la referencia Microsoft.Office.Interop.Excel version 14.0

    'Microsoft.Office.Interop.Excel.ApplicationClass' to interface type 'Microsoft.Office.Interop.Excel._Application'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{000208D5-0000-0000-C000-000000000046}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

    Saludos y gracias

    miércoles, 2 de mayo de 2012 23:57

Respuestas

Todas las respuestas

  • ¿Cuál es el tipo de 'arch'?

    Jose R. MCP

    jueves, 3 de mayo de 2012 0:07
    Moderador
  • Estoy subiendo un archivo de excel con extension *.xlsx, y tengo instalado el office 2010.

    Gracias

    jueves, 3 de mayo de 2012 0:15
  • Tal vez no pregunté bien:  ¿Cuál es la declaración de la variable de nombre 'arch'?  Me interesa saber el tipo de dicha variable y cómo la inicializa.

    Jose R. MCP

    jueves, 3 de mayo de 2012 0:19
    Moderador
  • Perdon no capte bien tu pregunta, lo siento, mira esta es la declaración de la variable:

    Microsoft.Office.Interop.Excel.Application arch = new Microsoft.Office.Interop.Excel.Application();

    Saludos

    jueves, 3 de mayo de 2012 0:27
  • Bastante extraño.  El siguiente código en mi PC funciona adecuadamente (proyecto de consola):

                Application arch = new Application();
                Workbook wb = arch.Workbooks.Open(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"Evony\My lost NPC's.xlsx"));
                arch.Visible = true;
    

    El programa termina de ejecutar y se muestra Excel con mi lista de NPC's de evony.com (cuando lo jugaba hace ya bastante tiempo, jeje).

    Por ahora únicamente puedo sugerir lo siguiente:  Desde una consola administrativa (elevada, o sea, con derechos de administrador), ejecute excel.exe /regserver.  Luego proceda a ejecutar su código nuevamente.


    Jose R. MCP

    jueves, 3 de mayo de 2012 0:48
    Moderador
  • hola

    una consulta, en que idioma tienes instalado el office ? y en que idioma tienes windows ?

    agrega esta linea

    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

    antes de creas la instancia de Application


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 3 de mayo de 2012 1:02
  • Hola buen día,

    Tanto mi office como mi sistema operativo (windows 7) estan en ingles, ya modifique mi codigo con la linea del culture y quedo de la siguiente manera: 


    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
    Microsoft.Office.Interop.Excel._Application arch = new Microsoft.Office.Interop.Excel.Application();
    Microsoft.Office.Interop.Excel.Workbook wb = arch.Workbooks.Open(opd.FileName);

    Estoy agregando la referencia Microsoft.Office.Interop.Excel version 14.0.0.0

    y estoy usando los siguientes namespace´s con la siguiente referencia:

    using Microsoft.Office.Interop.Excel;
    using System.Data.OleDb;

    No se si necesito agregar alguna referencia mas, o hacer uso a algun otro namespace.
    jueves, 3 de mayo de 2012 14:53
  • que raro, con lo que describes deberia funcionar

    pero no te animas a usar uan libreria distinta, que esta bada en el estandar open xml

    ClosedXML - The easy way to OpenXML

    con esta no tendras problemas con las librerias COM de office

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 3 de mayo de 2012 15:18
  • Oye leandro pero si quiero leer archivos xls, se que no se puede con ClosedXML y tengo problemas con interop al leer archivos. http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/36b1d2d7-2272-4221-a844-d9c218b540c6/#36b1d2d7-2272-4221-a844-d9c218b540c6 esta es mi pregunta que hice espero puedas ayudarme
    lunes, 27 de agosto de 2012 21:30