1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

automação do excel com o visual studio 2005 em c#

Discussão em 'Programação' iniciada por trashCanMan, 6 de Março de 2008. (Respostas: 2; Visualizações: 2916)

  1. trashCanMan

    trashCanMan Power Member

    boas pessoal.
    tudo o que eu queria era sacar dados de uma folha excel em c# com o VS.
    A primeira das coisas estranhas que estão a acontecer é a seguinte:
    Adicionei a referência às bibliotecas do Office no VS, "Microsoft Office 12.0 Object Library" e "Microsoft Excel 12.0 Object Library"... ora como instalei o Office 2007 (sim... sou utilizador de OpenOffice...) se não estou em erro, a versão não devia ser 11.0???
    Isto tudo porque (segunda coisa estranha) quando chamo o método Workbooks.Open é lançada uma excepção que diz que, e passo a citar "Biblioteca de formato antigo ou de tipo inválido"!!
    Como navego em águas ainda desconhecidas, alguem me pode dizer onde estou a falhar??
    Desde já os meus agradecimentos.

    p.s. estou a incluir também o metodo e a excepção lançada

    Código:
    this.excelWorkBook = this.excelApp.Workbooks.Open(nomeFicheiro, ae_update_links, ae_read_only, ae_format, ae_password, ae_write_res_password, ae_ignore_read_only_recommend, ae_origin, ae_delimiter, ae_editable, ae_notify, ae_converter, ae_add_to_mru, ae_local, ae_corrupt_load);
    Código:
    ERRO:System.Runtime.InteropServices.COMException (0x80028018): Biblioteca de formato antigo ou de tipo inválido. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
       at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
       at testeExcel.AutomExcel.AbrirFicheiro(String nomeFicheiro, String password) in D:\geral\zonaEI\projecto\testeExcel\testeExcel\AutomExcel.cs:line 118:ERRO
     
  2. trashCanMan

    trashCanMan Power Member

    ok Pessoal vamos acalmar que já encontrei solução:
    o problema era que estou a executar uma versão em inglês do excel mas as versões regionais da minha maquina estão configuradas para português...
    Basta para isso definir a informação da localização actual para inglês antes de chamar o Excel:
    Código:
    System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
    como está explicado aqui
    já funca:p
     
  3. Toutatis

    Toutatis [email protected] Member

Partilhar esta Página