Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Migracion a excel

buenos dias

tengo que pasar un informacion a excel la caracteristica es que se debe pasar en diferentes hojas dependiendo de los datos
codigos 1 y 2 en una hoja
codigo 3 en otra
codigo 4 en otra

entonces hice algo mas o menos asi

Código Delphi [-]
  _FilaTitulos := 1;
    Excel := CreateOleObject('Excel.Application');
    Excel.DisplayAlerts := False;
    Excel.WorkBooks.Add(xlWBATWorksheet);
    //Agrega una hoja
    Excel.WorkBooks[1].WorkSheets.add;
    Excel.WorkBooks[1].WorkSheets.add;
    //Nombra las hojas
    Excel.WorkBooks[1].WorkSheets[1].Name:='Sheet1';
    Excel.WorkBooks[1].WorkSheets[2].Name:='Sheet2';
    Excel.WorkBooks[1].WorkSheets[3].Name:='Sheet3';
    //Referencia a cada hoja con una variable
    WorkSheet1 := Excel.WorkBooks[1].WorkSheets['Sheet1'];
    WorkSheet2 := Excel.WorkBooks[1].WorkSheets['Sheet2'];
    WorkSheet3 := Excel.WorkBooks[1].WorkSheets['Sheet3'];

    WorkSheet1.cells[_FilaTitulos,1] := 'Empresa';
    WorkSheet1.cells[_FilaTitulos,2] := 'Codigo';
    WorkSheet1.cells[_FilaTitulos,3] := 'Cese';
    WorkSheet1.cells[_FilaTitulos,4] := 'Trabajador';
    WorkSheet1.cells[_FilaTitulos,5] := 'Dcto.Trabajador';
    WorkSheet1.cells[_FilaTitulos,6] := 'Empresa';
    WorkSheet1.cells[_FilaTitulos,7] := 'Total';
    WorkSheet2.cells[_FilaTitulos,1] := 'Empresa';
    WorkSheet2.cells[_FilaTitulos,2] := 'Codigo';
    WorkSheet2.cells[_FilaTitulos,3] := 'Cese';
    WorkSheet2.cells[_FilaTitulos,4] := 'Trabajador';
    WorkSheet2.cells[_FilaTitulos,5] := 'Dcto.Trabajador';
    WorkSheet2.cells[_FilaTitulos,6] := 'Empresa';
    WorkSheet2.cells[_FilaTitulos,7] := 'Total';
    WorkSheet3.cells[_FilaTitulos,1] := 'Empresa';
    WorkSheet3.cells[_FilaTitulos,2] := 'Codigo';
    WorkSheet3.cells[_FilaTitulos,3] := 'Cese';
    WorkSheet3.cells[_FilaTitulos,4] := 'Trabajador';
    WorkSheet3.cells[_FilaTitulos,5] := 'Dcto.Trabajador';
    WorkSheet3.cells[_FilaTitulos,6] := 'Empresa';
    WorkSheet3.cells[_FilaTitulos,7] := 'Total';
    i1:= _FilaTitulos + 1;
    i2:= _FilaTitulos + 1;
    i3:= _FilaTitulos + 1;
    qryConsumos.First;
    while not qryConsumos.Eof do
    begin
      if (Izquierda(qryConsumosOtro.AsString,1) = '1') or (Izquierda(qryConsumosOtro.AsString,1) = '2') Then
      Begin
        WorkSheet1.cells[i1, 1].NumberFormat := '@';
        WorkSheet1.cells[i1, 1] := qryConsumosempresa.AsString;
        WorkSheet1.cells[i1, 2].NumberFormat := '@';
        WorkSheet1.cells[i1, 2] := qryConsumosOtro.AsString;
        WorkSheet1.cells[i1, 3] := qryConsumosFechaCese.AsDateTime;
        WorkSheet1.cells[i1, 4] := qryConsumosTrabajador.AsString;
        WorkSheet1.cells[i1, 5] := qryConsumosDcto.AsFloat;
        WorkSheet1.cells[i1, 6] := qryConsumosEmpresa_1.AsFloat;
        WorkSheet1.cells[i1, 7] := qryConsumosDcto.AsFloat + qryConsumosEmpresa_1.AsFloat;
        inc (i1);
      end;
      if (Izquierda(qryConsumosOtro.AsString,1) = '3') Then
      Begin
        WorkSheet2.cells[i2, 1].NumberFormat := '@';
        WorkSheet2.cells[i2, 1] := qryConsumosempresa.AsString;
        WorkSheet2.cells[i2, 2].NumberFormat := '@';
        WorkSheet2.cells[i2, 2] := qryConsumosOtro.AsString;
        WorkSheet2.cells[i2, 3] := qryConsumosFechaCese.AsDateTime;
        WorkSheet2.cells[i2, 4] := qryConsumosTrabajador.AsString;
        WorkSheet2.cells[i2, 5] := qryConsumosDcto.AsFloat;
        WorkSheet2.cells[i2, 6] := qryConsumosEmpresa_1.AsFloat;
        WorkSheet2.cells[i2, 7] := qryConsumosDcto.AsFloat + qryConsumosEmpresa_1.AsFloat;
        inc (i2);
      end;
      if (Izquierda(qryConsumosOtro.AsString,1) = '4') Then
      Begin
        WorkSheet3.cells[i3, 1].NumberFormat := '@';
        WorkSheet3.cells[i3, 1] := qryConsumosempresa.AsString;
        WorkSheet3.cells[i3, 2].NumberFormat := '@';
        WorkSheet3.cells[i3, 2] := qryConsumosOtro.AsString;
        WorkSheet3.cells[i3, 3] := qryConsumosFechaCese.AsDateTime;
        WorkSheet3.cells[i3, 4] := qryConsumosTrabajador.AsString;
        WorkSheet3.cells[i3, 5] := qryConsumosDcto.AsFloat;
        WorkSheet3.cells[i3, 6] := qryConsumosEmpresa_1.AsFloat;
        WorkSheet3.cells[i3, 7] := qryConsumosDcto.AsFloat + qryConsumosEmpresa_1.AsFloat;
        inc (i3);
      end;
      qryConsumos.Next;
      ProgressBarXls.Position := ProgressBarXls.Position +1;
    end;
    WorkSheet1.Cells.Columns.AutoFit;
    WorkSheet2.Cells.Columns.AutoFit;
    WorkSheet3.Cells.Columns.AutoFit;
  WorkBook.SaveAs(fname);
  WorkBook.Close(fName);
    Excel.Quit;

pero me da error en las ultimas lineas
Código Delphi [-]
 
  WorkBook.SaveAs(fname);

el mensaje dice EVariantInvalidOpError Invalid variant operation

q estoy haciendo mal?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
 



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
migracion sistema asp.net gabrielflowers .NET 0 28-09-2010 23:02:29
Migración DavidSG4 OOP 0 20-10-2008 16:04:23
Consulta de Migración marceloalegre Firebird e Interbase 8 21-09-2006 13:25:47
Migración a 10g release 2 SMTZ Oracle 2 03-08-2006 00:46:50
Migracion componentes BDE a :DBX,IBX ASAPLTDA Conexión con bases de datos 0 24-03-2004 15:06:06


La franja horaria es GMT +2. Ahora son las 07:05:47.


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