none
Problema Libary Excel. RRS feed

  • Pergunta

  • Olá galera.

    Utilizei a libary Microsoft.Office.Interop.Excel para editar, criar e etc.. na minha máquina local funciona tudo perfeito, porém quando eu publico minha aplicação não funciona nada nem o xlWorkBook.SaveAs, como arrumar isto?

    Obrigado

    quarta-feira, 11 de abril de 2012 18:19

Respostas

  • Olá Romy,

    Se está utilizando Excel Interop num servidor (aplicação Web), então precisa alterar o usuário que executa a sua aplicação no IIS (ou usar impersonation) para um usuário que tenha permissões mais elevadas do que o usuário padrão do IIS.

    Nota: Instalar o Office no servidor é uma péssima idéia e inclusive não é recomendado pela Microsoft.

    Existem opções melhores para gerar arquivos do Excel sem precisar ter o Office no servidor...

    Se for gerar arquivos do Excel 2007 ou 2010 e quiser ter controle total, pode usar o OpenXML SDK da Microsoft, e gerar os arquivos diretamente, sem precisar ter o Excel (nem nenhum componente do Office) instalado na máquina:

    Open XML SDK 2.0 for Microsoft Office
    http://www.microsoft.com/download/en/details.aspx?id=5124

    --

    Se quiser algo mais simples (e + rápido), mas com menor controle sobre o arquivo gerado (utiliza um template), também para Excel 2007/2010:

    Extreme ML
    http://www.extrememl.com/

    Por fim, se precisa gerar arquivos no formato antigo (XLS / binário) compatível com Excel 97/2003:

    NPOI - The .NET port of Apache POI
    http://npoi.codeplex.com/


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    sexta-feira, 13 de abril de 2012 00:35
    Moderador

Todas as Respostas

  • Romy, boa tarde

    você instalou as bibliotecas de interop do office no servidor ? http://www.microsoft.com/download/en/details.aspx?id=18346


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    quinta-feira, 12 de abril de 2012 15:49
    Moderador
  • Romy, boa tarde

    você instalou as bibliotecas de interop do office no servidor ? http://www.microsoft.com/download/en/details.aspx?id=18346


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)


    Sim instalei o 2010, já que o excel instalado é o 2010.
    quinta-feira, 12 de abril de 2012 16:42
  • Olá galera.

    Utilizei a libary Microsoft.Office.Interop.Excel para editar, criar e etc.. na minha máquina local funciona tudo perfeito, porém quando eu publico minha aplicação não funciona nada nem o xlWorkBook.SaveAs, como arrumar isto?

    Obrigado


    Pessoal preciso muito disso, por favor s.o.s!
    quinta-feira, 12 de abril de 2012 18:47
  • Olá Romy,

    Se está utilizando Excel Interop num servidor (aplicação Web), então precisa alterar o usuário que executa a sua aplicação no IIS (ou usar impersonation) para um usuário que tenha permissões mais elevadas do que o usuário padrão do IIS.

    Nota: Instalar o Office no servidor é uma péssima idéia e inclusive não é recomendado pela Microsoft.

    Existem opções melhores para gerar arquivos do Excel sem precisar ter o Office no servidor...

    Se for gerar arquivos do Excel 2007 ou 2010 e quiser ter controle total, pode usar o OpenXML SDK da Microsoft, e gerar os arquivos diretamente, sem precisar ter o Excel (nem nenhum componente do Office) instalado na máquina:

    Open XML SDK 2.0 for Microsoft Office
    http://www.microsoft.com/download/en/details.aspx?id=5124

    --

    Se quiser algo mais simples (e + rápido), mas com menor controle sobre o arquivo gerado (utiliza um template), também para Excel 2007/2010:

    Extreme ML
    http://www.extrememl.com/

    Por fim, se precisa gerar arquivos no formato antigo (XLS / binário) compatível com Excel 97/2003:

    NPOI - The .NET port of Apache POI
    http://npoi.codeplex.com/


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net
    sexta-feira, 13 de abril de 2012 00:35
    Moderador
  • Olá Romy,

    Se está utilizando Excel Interop num servidor (aplicação Web), então precisa alterar o usuário que executa a sua aplicação no IIS (ou usar impersonation) para um usuário que tenha permissões mais elevadas do que o usuário padrão do IIS.

    Nota: Instalar o Office no servidor é uma péssima idéia e inclusive não é recomendado pela Microsoft.

    Existem opções melhores para gerar arquivos do Excel sem precisar ter o Office no servidor...

    Se for gerar arquivos do Excel 2007 ou 2010 e quiser ter controle total, pode usar o OpenXML SDK da Microsoft, e gerar os arquivos diretamente, sem precisar ter o Excel (nem nenhum componente do Office) instalado na máquina:

    Open XML SDK 2.0 for Microsoft Office
    http://www.microsoft.com/download/en/details.aspx?id=5124

    --

    Se quiser algo mais simples (e + rápido), mas com menor controle sobre o arquivo gerado (utiliza um template), também para Excel 2007/2010:

    Extreme ML
    http://www.extrememl.com/

    Por fim, se precisa gerar arquivos no formato antigo (XLS / binário) compatível com Excel 97/2003:

    NPOI - The .NET port of Apache POI
    http://npoi.codeplex.com/


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://caioproiete.net

    Beleza, então Caio optei instalar o excel no server por ser apenas servidor interno onde roda aplicações interna administrativas e  o código já esta perfeito, porém sua explicação foi muito util para meu conhecimento, obrigado.
    • Editado Romy Moura segunda-feira, 16 de abril de 2012 14:06
    segunda-feira, 16 de abril de 2012 14:05