Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 01-07-2013
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 14
giulichajari Va por buen camino
Post Gracias

Cita:
Empezado por _cero_ Ver Mensaje
Lo siento el código que te di era para abrir un xls ya creado con anterioridad, y meterle los datos (en mi opinión es mejor ya que puedes poner imágenes y darle un formato más agradable de una forma fácil).

Ahora para crear el xls desde cero solo se necesitarían unas pequeñas modificaciones que son:
Código:
    Variant XL,v0,v1; //quite variables que no se usan
    XL=Variant::CreateObject("excel.application");
    XL.OlePropertySet("Visible", true);
    XL.OlePropertyGet("Workbooks").OleProcedure("Add"); //se agrega un libro
    //Aqui e se cambia Reporte por Hoja1 que es el nombre por defecto de las hojas de excel
    v0=XL.OlePropertyGet("Sheets", "Hoja1");
    v1=v0.OlePropertyGet("Cells");

    //DATOS//
    //se escriben los datos como ya lo haces
    v1.OlePropertyGet("Cells", 2/*cordenada y*/, 3/*cordenada x*/).OlePropertySet("Value", "lolo");


    XL.OlePropertySet("DisplayAlerts", false);
    //aqui es donde se guarda
    XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs", "C:\\test.xlsx"/*xlsxpor que uso office 2007*/);
    XL=Unassigned;
Pd. La parte de los datos se queda exactamente igual, solo se cambia la forma en la que se trabaja con “XL”.

Pd2. Ese error da cuando se intenta acceder a una función que no existe, debido a que el manejo de “OleProcedure” es complejo no me di cuenta de los dos fallos del anterior código. Nos vemos y cuenta como te fue.

Edito: en caso de que abras Excel de forma oculta, no se te olvide poner “XL.OleProcedure("Quit");” antes de “XL=Unassigned;” para cerrarlo, de lo contrario se quedara abierto y solo se serrara terminando el proceso en el administrador.
Hola amigo utilice tu codigo y me abre excel, pero no coloca los nombre de las columnas
Mi codigo:
Código Delphi [-]
 Variant XL,v0,v1;
 XL=Variant::CreateObject("excel.application");
    XL.OlePropertySet("Visible", true);
    XL.OlePropertyGet("Workbooks").OleProcedure("Add"); //se agrega un libro
    //Aqui e se cambia Reporte por Hoja1 que es el nombre por defecto de las hojas de excel
    v0=XL.OlePropertyGet("Sheets", "Hoja1");
    v1=v0.OlePropertyGet("Cells");

    //DATOS//
    //se escriben los datos como ya lo haces
    String columnas[6]={"Fecha","Unidades","Detalle","PU","Costo","Marca"};
    v1.OlePropertyGet("Cells", 2, 3).OlePropertySet("Value", "lolo");
        Table1->First();
    for (int i = 1; i <= Table1->RecordCount; i++) {
        for (int ii = 0; ii < 6; ii++) {
            //se va escribiendo dato por dato
            v1.OlePropertyGet("Cells", i+1, ii+1).OlePropertySet("Value",
                Table1->FieldByName(columnas[ii])->AsString.c_str());
        } //fin for i
        Table1->Next();
    }

    XL.OlePropertySet("DisplayAlerts", false);
    //aqui es donde se guarda
    XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs", "C:\\test.xlsx"/*xlsxpor que uso office 2007*/);
    XL=Unassigned;

Última edición por giulichajari fecha: 01-07-2013 a las 19:08:48. Razón: Me olvide el codigo
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Exportar un DBGRID a excel con formato de fecha Luis Castro Varios 3 21-01-2011 21:54:38
exportar a excel rakka Varios 12 03-09-2008 00:53:31
Exportar un DBGRID a excel luisneria Varios 4 16-03-2007 23:34:43
exportar dbgrid a excel stuka Varios 7 21-07-2006 00:16:33
Exportar a Excel pruz Varios 8 01-07-2004 15:47:37


La franja horaria es GMT +2. Ahora son las 21:27:59.


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