Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2011
jofebas jofebas is offline
Miembro
 
Registrado: nov 2010
Posts: 50
Poder: 14
jofebas Va por buen camino
Tabla Dinamica a Excel con Delphi

Buenas tardes.
Estoy trabajando con reportes en Excel y todo bien pero ahora me encontré con la necesidad de hacer un atabla dinámica desde Delphi, encontré un programita que realiza esa función, también en Delphi, pero lo hace con valores fijos.
Yo lo quiero hacer con variables de consultas en bases de datos de MySql
El problema que tengo que al mandar crear la tabla dinámica me manda un error que por lo que investigue tiene que ver con funciones de office ya busque por muchos lados y no puedo, he modificado mi código de muchas formas pero tampoco, así e ahora pido de favor me ayuden si alguien sabe cómo.
Gracias

este es parte del codigo por que es muy grande y no cabe.

es con el TExcelApplication

Última edición por jofebas fecha: 28-09-2011 a las 23:29:47.
Responder Con Cita
  #2  
Antiguo 28-09-2011
jofebas jofebas is offline
Miembro
 
Registrado: nov 2010
Posts: 50
Poder: 14
jofebas Va por buen camino
codigo completo

Código Delphi [-]
 

    //tabla
    Hoja.Range['A' + inttostr(i+5),'A' + inttostr(i+5)].Activate;
    Hoja.PivotTableWizard(xlDatabase, 'A5:AL' + inttostr(i-4),'REPORTE',
                          'TablaDin', EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, lcid);
    GD := Whoja.PivotTables('TablaDin', lcid) as PivotTable;
    GD.AddFields('A','C','AL', EmptyParam);
    (GD.PivotFields('AVERAGE(AL)') as PivotField).Orientation := xlDatafield;
  end;
  RenombrarArchivo();
  if not DirectoryExists('C:\Reportes\') then CreateDir('C:\Reportes\');
  if not DirectoryExists('C:\Reportes\Inyeccion\') then CreateDir('C:\Reportes\Inyeccion\');
  Excel.ActiveWorkbook.SaveAs( ExtractFilePath( 'C:\Reportes\Inyeccion\' ) + 'ReporteOEE-Inyec.xlsx',EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, xlNoChange, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 0);
  ShowMessage('Reporte Guardado en C:\Reportes\Inyeccion\');
  Excel.Visible[1]:=true;
  Excel.Quit;
end;
Responder Con Cita
  #3  
Antiguo 28-09-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Primero, reduce el ancho de ese código que es un poco incomodo.

Por otro lado, te falta mencionar cuál es el error que se te está presentando.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 28-09-2011
jofebas jofebas is offline
Miembro
 
Registrado: nov 2010
Posts: 50
Poder: 14
jofebas Va por buen camino
este es el codigo de la tabla.

el error me dice lo siguiente
EOleException whith message 'OLE error 800A03EC'.

Código Delphi [-]
 
//tabla
    Hoja.Range['A' + inttostr(i+5),'A' + inttostr(i+5)].Activate;
    Hoja.PivotTableWizard(EmptyParam, 'A5:AL' + inttostr(i-4),'REPORTE',
                          'Tabla1', EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                          EmptyParam, 0);
    GD := Hoja.PivotTables('TablaDin', 0) as PivotTable;
    GD.AddFields('A','C','AL', EmptyParam);
    (GD.PivotFields('AVERAGE(AL)') as PivotField).Orientation := xlDatafield;
Responder Con Cita
  #5  
Antiguo 28-09-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por jofebas Ver Mensaje
este es el codigo de la tabla.

el error me dice lo siguiente
EOleException whith message 'OLE error 800A03EC'.
Ese error ni la computadora lo entiende

Dinos, que has investigado y sabes sobre el criptico error.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #6  
Antiguo 29-09-2011
jofebas jofebas is offline
Miembro
 
Registrado: nov 2010
Posts: 50
Poder: 14
jofebas Va por buen camino
solo se que un error de formulas en excel, o error de conexion a excel

este es el codigo de la otra aplicacion que baje y funciona pero el tiene datos fijos.

y en el segundo parametro no entiendo la relacion es nombre de la hoja 'Data'
pero R2C1:R10C5 ni idea.
Código Delphi [-]
 
 
WS.PivotTableWizard(xlDatabase, 'Data!R2C1:R10C5', EmptyParam,
                      'PivotTable1', EmptyParam, EmptyParam, EmptyParam,
                       EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                       EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                       EmptyParam, lcid);
Responder Con Cita
  #7  
Antiguo 29-09-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Una de las cosas que veo, es que en tu primer código, para EmptyParam como el primer parámetro de la función PivotTableWizard. No así en el último código que acabas de postear, dónde pasa la referencia a una ¿variable? xlDatabase. Explicame eso un poco por favor.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 29-09-2011
jofebas jofebas is offline
Miembro
 
Registrado: nov 2010
Posts: 50
Poder: 14
jofebas Va por buen camino
es porque el primer codigoes que modifique el segundo es el que me pasaron, el problema esta en el segundo parametro, donde obtengo el rango de datos hice pruebas con el codigo que funciona moviendo ese parametro y me dio el mismo error lo acomode y funciono con los otros parametros no paso nada tod funcionava igual.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿ Se pueden agregar campos a una tabla tipo paradox7 de forma dinámica en delphi 6 ? cesar_gta86 Varios 9 24-05-2008 12:03:52
Tabla a excel modificar y guardar en la tabla jgutti Servers 1 06-09-2004 16:20:49
Imprimir tabla dinámica claumar Impresión 4 06-05-2004 02:33:34
Pagina dinamica con Delphi!! acertij022 Internet 6 14-04-2004 18:36:55
Migrar una tabla de excel a una tabla de paradox lirio Conexión con bases de datos 1 31-05-2003 20:10:20


La franja horaria es GMT +2. Ahora son las 02:34:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi