• Lunes 18 de Noviembre de 2024, 06:27

Autor Tema:  Problemas Al Exportar Dbgrid A Excel  (Leído 3078 veces)

ioriyagami80

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Problemas Al Exportar Dbgrid A Excel
« en: Jueves 3 de Enero de 2008, 23:34 »
0
hola a todos le pido su ayuda
en mi aplicacion estoy exportando datos de un dbgrid a excel uso el siguiente codigo
procedure TForm1.Button1Click(Sender: TObject);
var
excel:Variant;
fila, columna:Integer;
begin
with adoquery1, adoquery1.SQL do
begin
Close;
Open;
if IsEmpty then
begin
MessageDlg('No existen datos que reportar!', mtWarning,[mbOk], 0);
Exit;
end;
TRY
excel := CreateOleObject('Excel.Application');
EXCEPT
ShowMessage('Excel no se pudo iniciar.');
exit;
END;
excel.Visible := VISIBLE;
First;
fila := 1;
excel.Workbooks.Add;
EXCEL.CELLS.COLUMNWIDTH:=15;
//Poner los títulos
for columna := 0 to DbGrid1.Columns.Count-1 do
excel.Cells[fila,columna + 1].Value:= DbGrid1.Columns[columna].Title.Caption;
fila:=3;
//Desengachar controles para agilizar
DisableControls;
TRY
while not(eof) do
begin
for columna := 0 to DbGrid1.Columns.Count-1 do
excel.Cells[fila,columna + 1].Value := FieldByName(DbGrid1.Columns[columna].FieldName).asSTRING;
Next;
inc(fila);
end;
EXCEPT
ShowMessage('Atención, se produjo un error en la transmisión.');
END;

me abre perfectamente y pasa los datos a excepcion de mi campo cuenta el cual es de tipo widestring y se llama cuenta en el estan los numeros de cuenta del cliente un ejemplo de un dato es 4207130000099992

pero el archivo de excel aparece asi
4.20713E+15

al dar formato texto en excel me deja esto
4207130000099990

cuando deberia ser
4207130000099992

alguien me puede ayudar para que me deje el dato tal y como es?
gracias a todos
EnableControls;
end;
end;

juanlaplata

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Problemas Al Exportar Dbgrid A Excel
« Respuesta #1 en: Miércoles 11 de Junio de 2008, 17:51 »
0
Se me hace que es el formato del numero de la celda del Archivo Excel, prueba tal ves mandandolo como texto.