PESSOAL,O VB.NET NAO FALA MAIS COM O EXCEL???

MARCOS 07/11/2013 08:38:27
#430828
Pessoal,
Estou com um problema [Ô]sério[Ô] no meu projeto feito em VB.NET.
Em dado momento,eu tenho que criar uma planilha em Excel,editar
e salvar numa determinada pasta. Fiz o código,que aliás sempre usei
e sempre funcionou muito bem. (Meu Office é o 2003) Mas....

Ao instalar o programa,em um computador que tem uma versão mais
recente do Office (2010), é emitida uma mensagem de erro,dizendo
em inglês que não aceita a expressão [Ô]Excel.application[Ô].

Obs: Eu já sei,que dependendo da versão do Excel instalada,é necessário ir no
Adicionar referências e adicionar objeto [Ô]COM[Ô],adequado a versão do Excel
instalada no micro.O problema é que mesmo fazendo isto,o VB.NET não
aceita o código para acesso ao Excel.


Algum colega,sabe dizer,como ficou o acesso ao Excel nas novas versões. (2007 e 2010,etc...)


Meu código:

[ô]Cria objeto para representar aplicação Excel
Dim xl As New Excel.Application

[ô]Cria objeto para representar o [ô]Book[ô]
Dim xlw As Excel.Workbook

[ô]Abre arquivo do [ô]Book[ô]
xlw = xl.Workbooks.Open([Ô]C:\Relatorio.xls[Ô])

[ô]Selecione a planilha
xlw.Sheets([Ô]Rel[Ô]).Select()

[ô]Salva
xlw.Sheets([Ô]Rel[Ô]).SaveAs(Destino)

[ô]Fecha
xlw.Close(True)

[ô]Libera memória
xlw = Nothing
xl = Nothing
LUIS.HERRERA 07/11/2013 08:45:49
#430829
Resposta escolhida
Marcos nunca vi os 2 conversando... (brincadeirinha)

Olha claro que funciona. O maior problema de fazer referência direta no código é deixar sua versão presa a uma determinada versão do Excel, pois cada cliente tem a sua. Bem não uso VB, mas C# e exporto um datagrid para excel (qualquer versão) sem nenhum problema facilmente, mas veja esse artigo do Macoratti que faz acesso específico como deseja, só quem em VB 2005, mas pode te ajudar.

http://www.macoratti.net/vbn_eead.htm

Lá tem um monte de outros artigos sobre o assunto e no google também.

DANIELCPAETE 07/11/2013 11:15:57
#430838
A melhor coisa a fazer é referenciar uma versão do Excel 2003, pois fazendo assim ele sempre vai funcionar nas versões posteriores. O único problema é que você necessita do Office 2003 instalado na maquina de desenvolvimento.
OCELOT 07/11/2013 11:43:54
#430840
Se for uma simples tabela com dados, sem fórmulas ou formatações que você precisa eu recomendaria até a não usar o Excel de forma alguma, você poderia exportar um arquivo csv ou usar uma biblioteca tipo a ExcelLibrary, que é distribuída como LGPL, então pode ser usada em programas comerciais sem problemas, e gerar o xls sem precisar do Office instalado.
Tópico encerrado , respostas não são mais permitidas