Ir al contenido


Foto

Exportar un stringGrid a Excel usando componente XLSReadWrite5 II

excel XLSWrite XLSReadWrite5 II StringGrid NoUsarAppExcel

  • Por favor identifícate para responder
6 respuestas en este tema

#1 TMFV

TMFV

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 11 noviembre 2021 - 10:18

Buenas noches mis estimados...

 

Hace tiempo no me conectaba por esté medio, pero se me ha presentado el siguiente escenario...

NECESITO GENERAR UN EXCEL APARTIR DE UNA TABLA, SIN HACER USO DE LA APLICACION EXCEL.

 

Los datos ya están cargados en un StringGrid, que he obtenido de un SQL.

Paso a dejarles una porción del dos código que estoy intentando ejecutar actualmente para hacer dicha exportación usando el componente XLSReadWrite (después de muchos intentos sin resultado favorable, vengo por ayuda de los duros... :(  :s ), de verdad os necesito.

 


delphi
  1. procedure TForm1.exportarTablaXLS;
  2. var
  3. i,j:Integer;
  4. begin
  5. leyendoCeldas;
  6. for i:=0 to tabla.RowCount-1 do begin
  7. for j:=0 to tabla.ColCount-1 do begin
  8. XLSExcel[0].AsString[j,i]:= tabla.Cells[j,i];
  9. XLSExcel.Calculate;
  10. XLSExcel[0].CalcDimensions;
  11. end;
  12. Next;
  13. end;
  14. XLSExcel.Filename:= 'D:\Documents\prueba.xlsx';
  15. XLSExcel.Write;
  16. end;


delphi
  1. procedure TForm1.leyendoCeldas;
  2. var
  3. C,R: integer;
  4. begin
  5. XLSExcel.Filename:= 'D:\Documents\prueba.xlsx';
  6. XLSTable.Open(1);
  7. for R:=0 to tabla.RowCount-1 do begin
  8. for C:=0 to tabla.ColCount-1 do begin
  9. //XLSExcel[0].AsString[C,R]:= 'ff';
  10. XLSExcel[0].InsertRows(R,tabla.RowCount);
  11. end;
  12. XLSExcel.Write;
  13. Next;
  14. end;

Realmente no se como trabajar ese componente para escribir los datos de mi StringGrid, en el excel....

Ayuda porfavor, a cualquiera que desee ayudar. PLEASE

 

LOS NECESITO, Aparte que la ayuda en este tema en la web es casi que nula, ya sea en ingles o español.... 

 

 

 


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 12 noviembre 2021 - 08:50

Hola TMFV,

 

Tal vez te ayude este hilo.

 

 

Saludos


  • 0

#3 TMFV

TMFV

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 12 noviembre 2021 - 09:25

Hola gente, ya logré solucionar el tema...

 

Les comparto mi solución....


delphi
  1. procedure TForm1.llenarTabla;
  2. var
  3. col, fil: Integer;
  4. C,R: integer;
  5. Ref: string;
  6. Cnt: integer;
  7. CellType: TXLSCellType;
  8. I: Integer;
  9. begin
  10. for fil := 0 to 170 do begin //hay que establecer las filas del stringGrid
  11. for col := 0 to 15 do begin //hay que establecer las columnas del stringGrid
  12. XLSExcel[0].AsString[col,fil]:= tabla.Cells[col,fil]; //TIPO_ACUM';
  13. XLSExcel.Calculate;
  14. Cnt := 0;
  15. XLSExcel[0].CalcDimensions;
  16. for R := (XLSExcel[0].FirstRow) to XLSExcel[0].LastRow do begin
  17. for C := XLSExcel[0].FirstCol to XLSExcel[0].LastCol do begin
  18. CellType := XLSExcel[0].CellType[C,R];
  19. if CellType <> xctNone then begin
  20. Ref := ColRowToRefStr(C,R);
  21. //XLSExcel[0].AsString[C,R] := Ref;
  22. {
  23.   case CellType of
  24.   xctBlank : begin
  25.   tabla.Cells[C,R] := 'Null';
  26.   end;
  27.   xctString : begin
  28.   tabla.Cells[C,R]:= XLSExcel[0].AsString[C,R];
  29.   end;
  30.   xctFloat : begin
  31.   tabla.Cells[C,R] := FloatToStr(XLSExcel[0].AsFloat[C,R]);
  32.   end;
  33.   end;
  34.   }
  35. Inc(Cnt);
  36. end;
  37. end;
  38. end;
  39. end;
  40. XLSExcel.Filename:= 'D:\Documents\prueba.xlsx';
  41. XLSExcel.Write;
  42. end;
  43. ShowMessage('Archivo creado');
  44. end;

Si alguien me puede ayudar a ponerlo mas profesional y mejorarlo, cualquier ayuda es bienvenida


  • 0

#4 TMFV

TMFV

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 12 noviembre 2021 - 09:27

Hola TMFV,

 

Tal vez te ayude este hilo.

 

 

Saludos

 

Hola egostar, gracias por responder, ya lo había checado...

Pero no es util, pues la idea es no hacer uso de la aplicación de excel.

 

Gracias de igual manera.


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 12 noviembre 2021 - 10:32

Hola egostar, gracias por responder, ya lo había checado...

Pero no es util, pues la idea es no hacer uso de la aplicación de excel.

 

Gracias de igual manera.

 

En ese hilo hay un post (el No. 8 específicamente)  donde muestra como generar un archivo Excel sin tener Excel instalado, pensé que te iba a servir.

 

Saludos


  • 0

#6 TMFV

TMFV

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 18 noviembre 2021 - 02:15

Hola TMFV,

 

Tal vez te ayude este hilo.

 

 

Saludos

 

Hola egostar, espero tengas un lindo día. Resulta que el código realizado con XLSReadWrite II me salió bien, pero tiene una marca de agua imposible de quitar, por lo que me gustaría saber en ese hilo mencionado por usted AQUI #8 hacen referencia a una pagina para descargar una Unit, pero no me es posible descargarla, pues el sitio no esta habilitado, y no he podido encontrarla ningún lado, acepto cualquier ayuda. 

 

:(  :|


  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 19 noviembre 2021 - 08:32

Hola egostar, espero tengas un lindo día. Resulta que el código realizado con XLSReadWrite II me salió bien, pero tiene una marca de agua imposible de quitar, por lo que me gustaría saber en ese hilo mencionado por usted AQUI #8 hacen referencia a una pagina para descargar una Unit, pero no me es posible descargarla, pues el sitio no esta habilitado, y no he podido encontrarla ningún lado, acepto cualquier ayuda. 

 

:(  :|

 

Hola

 

Si está disponible 

 

Saludos


  • 0





Etiquetado también con una o más de estas palabras: excel, XLSWrite, XLSReadWrite5 II StringGrid, NoUsarAppExcel

IP.Board spam blocked by CleanTalk.