ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Exportar DBGrid para Excel. ERRO !

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
ecpetini
Novato
Novato


Registrado: Quarta-Feira, 27 de Junho de 2012
Mensagens: 18

MensagemEnviada: Qua Set 06, 2017 2:07 pm    Assunto: Exportar DBGrid para Excel. ERRO ! Responder com Citação

Oi pessoal. Fiz uma exportacao de dados de um DBGrid para uma tabela no Excel. Funcionou, mas com um problema. Os valores (Campos DoublePrecision) do Fb 2.1 configurados com Precision de 2 casas decimais aparecem no Excell com 15 digitos. Como resolver isso ? Agradeco dicas e sugestoes. Obrigado.Petini.


Ola Imex. Obrigado pela olhada no assunto. Uso D7, Fb 2.1 e o IBExpertecem .
Abaixo veja como os valores estao no DBGrid e como aparecem no Excel.!!!
Não sei i que ocorre. Jah revisei tudo e nao descobri nada errado.
O mais estranho eh que alguns poucos valores aparecem corretos.

2.100,00 = 210.060.009.765.625

2.520,72 = 252.071.997.070.313

Na configuracao dos campos, que vem setado com Precision de 15 digitos, eu mudei todos para 2 digitos, mas nem assim alterou.

Como resolver ? ou alguém pode me indicar outra rotina que exporte com a formatacao original ?.


Agradeco dias e sugestoes. Obg. Petini


Editado pela última vez por ecpetini em Sex Set 08, 2017 9:00 am, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 10639

MensagemEnviada: Qua Set 06, 2017 2:40 pm    Assunto: Responder com Citação

Boa tarde,

Os valores estão com 15 casas decimais? São apenas zeros a direita ou outros valores que não estão no banco de dados?
Você pode postar o código utilizado para passar o valor do campo para a planilha?

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos-residencial-sobrado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ecpetini
Novato
Novato


Registrado: Quarta-Feira, 27 de Junho de 2012
Mensagens: 18

MensagemEnviada: Sex Set 08, 2017 9:17 am    Assunto: Expportar para o Excel. Erro Responder com Citação

Ola Imex. Obrigado pela olhada no assunto. Uso D7, Fb 2.1 e o IBExpertecem .
Abaixo veja como os valores estao no DBGrid e como aparecem no Excel.!!!
Não sei i que ocorre. Jah revisei tudo e nao descobri nada errado.
O mais estranho eh que alguns poucos valores aparecem corretos.

2.100,00 = 210.060.009.765.625

2.520,72 = 252.071.997.070.313

Na configuracao dos campos, que vem setado com Precision de 15 digitos, eu mudei todos para 2 digitos, mas nem assim alterou.

Como resolver ? ou alguém pode me indicar outra rotina que exporte com a formatacao original ?.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 10639

MensagemEnviada: Sex Set 08, 2017 10:22 am    Assunto: Responder com Citação

Você pode postar o código que está utilizando para exportar os valores?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ecpetini
Novato
Novato


Registrado: Quarta-Feira, 27 de Junho de 2012
Mensagens: 18

MensagemEnviada: Sex Set 08, 2017 10:43 am    Assunto: Exportar DBGrid para Excel. Erro. Responder com Citação

Ta ai:
procedure TForm1.BitBtnWithColor3Click(Sender: TObject);
var
coluna, linha: integer;
excel: variant;
valor: string;
begin
try
excel:=CreateOleObject('Excel.Application');
excel.Workbooks.add(1);
except
Application.MessageBox('Erro','Versão Incompatível');
end;
//Abre as Tabelas Verbas.
DataModule1.cdsVRBPLT17.Active:= True;
SQLQuery3.Open; SQLQuery3.First;
for linha:=0 to SQLQuery3.RecordCount-1 do
begin
for coluna:=1 to SQLQuery3.FieldCount do
begin
valor:= SQLQuery3.Fields[coluna-1].AsString; excel.cells [linha+2,coluna]:=valor;
end;
SQLQuery3.Next;
end;
for coluna:=1 to SQLQuery3.FieldCount do
begin
valor:= SQLQuery3.Fields[coluna-1].DisplayLabel;
excel.cells[1,coluna]:=valor;
end;
excel.columns.AutoFit;
excel.visible:=true;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 10639

MensagemEnviada: Sex Set 08, 2017 11:48 am    Assunto: Responder com Citação

Experimente alterar o trecho abaixo

Código:
for coluna:=1 to SQLQuery3.FieldCount do
begin
valor:= SQLQuery3.Fields[coluna-1].AsString; excel.cells [linha+2,coluna]:=valor;
end;


para

Código:
for coluna:=1 to SQLQuery3.FieldCount do
begin
  if SQLQuery3.Fields[coluna-1] is TFloatField then
    begin
      excel.cells [linha+2,coluna].NumberFormat := '#.##0,00_);(#.##0,00)';
      excel.cells [linha+2,coluna] := SQLQuery3.Fields[coluna-1].AsFloat;
    end
  else
      excel.cells [linha+2,coluna] := SQLQuery3.Fields[coluna-1].AsString;
end;


Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ecpetini
Novato
Novato


Registrado: Quarta-Feira, 27 de Junho de 2012
Mensagens: 18

MensagemEnviada: Seg Set 11, 2017 2:48 pm    Assunto: Exportar DBGrid para Excel. ERRO ! Responder com Citação

OIl IMEX. muito obrigado pela dica. funcionou direitinho. Agora só falta colocar o reIsultado (a tabela) dentro de um arquivo (texto) em processamento, tipo salvar em C:\INICIALTRAB17\VERBAS. Como devo fazer ? Obrigadào. Abs. Petini.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 10639

MensagemEnviada: Ter Set 12, 2017 10:10 am    Assunto: Responder com Citação

Olá,

Não consegui entender o que você quer fazer.
Você conseguiu salvar a planilha?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
ecpetini
Novato
Novato


Registrado: Quarta-Feira, 27 de Junho de 2012
Mensagens: 18

MensagemEnviada: Qua Set 13, 2017 5:34 pm    Assunto: Exportar DBGrid para Excel. ERRO ! Responder com Citação

Ola IMEX
desculpe minha demora. tive que resolver uns problemas aqui.
No caso da exportacao é o seguinte. Vou inserir esse relatório dentro de um outro texto e gostaria de fazer automaticamente.
Agora abre o Excel e exibe o resultaado/relatorio.
Eu gostaria de inserir o relatorio ja pronto dentro do texto maior, sem mostrar o Excel aberto.
Se vc tem ou conhece uma rptina assim, por favor me indique. OK ?
Obrigado. Abs. Petini.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 10639

MensagemEnviada: Qui Set 14, 2017 9:48 am    Assunto: Responder com Citação

Olá,

Nunca fiz nada parecido, não sei dizer se é possível.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB