Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Para evitar alguna posible confusión, creo que me faltó decir que el mecanismo tradicional de automatización sigue siendo vigente, aún con los nuevos formatos de Microsoft Office. Por tanto podría ser suficiente aplicar un código como el que ha puesto Nelson.

Viene dándose la idea de dejar de lado la automatización ahora que podemos acceder al contenido de los documentos de forma directa. Sin embargo, eso no quita que puedan resolverse muchos casos mediante automatización, sobre todo aquellos donde la velocidad de procesamiento no sea algo crítico.

Saludos.
Responder Con Cita
  #2  
Antiguo 11-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Al González,

Cita:
Empezado por Al González
Viene dándose la idea de dejar de lado la automatización ahora que podemos acceder al contenido de los documentos de forma directa. Sin embargo, eso no quita que puedan resolverse muchos casos mediante automatización.
Es correcto, sin embargo seria muy interesante poder contar con las Clases para Importar Información de Excel que comentastes y que permitirían un mejor performance en procesos críticos, al permitir acceder a la data de Excel en formato XML de forma directa sin depender de los procesos de Automatización

Nelson.
Responder Con Cita
  #3  
Antiguo 11-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Claro, Nelson.

No sé si recuerdas que hace un par de semanas subí al FTP del club un paquete de clases y funciones llamado GH Freebrary:

Cita:
Empezado por Al González Ver Mensaje
Asimismo, toda colaboración técnica para mejorar esta pequeña obra es bienvenida. De momento lo que podría hacer falta es que se ponga a prueba, contiene algunas clases de distintos propósitos y funciones para variedad de asuntos. Entre las clases podemos encontrar las que estaban en Magia Data, además de otras como las siguientes:

TghXMLDoc.- Para crear, leer y escribir documentos XML.

TghOpenXMLSpreadsheet, TghOpenXMLSpreadsheetBook y TghOpenXMLSpreadsheetStrs.- Para abrir y leer libros Excel de formato 2007 o superior (OpenXML).

[...]
Algún moderador tuvo la gentileza de poner ese hilo como adherido para que todo el mundo lo viera más fácilmente. Incluso recuerdo un comentario de agradecimiento de tu parte.

Hoy, por falta de tiempo, no pude preparar el ejemplo. Pero esas clases están ahí para quien desee descargarlas y "trastear" con ellas, son tal cuales las usé en dos pequeños proyectos que desarrollé en 2012.

Una vez que descomprimes un archivo .xlsx de Excel, que en realidad es un ZIP (con algún componente descompresor como Abbrevia o similar), puedes entonces crear una instancia de TghOpenXMLSpreadsheet para acceder a alguna de las hojas del libro o TghOpenXMLSpreadsheetBook para acceder al libro entero si el documento tiene varias hojas.

Anímate a echarle un vistazo en lo que me doy un poco de tiempo para preparar algo más ilustrativo.

Saludos cordiales.

Al.
Responder Con Cita
  #4  
Antiguo 11-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Al González,

Pensé que eran otras Clases diferentes a GH Freebrary las que comentabas.

Mil gracias nuevamente

Nelson.
Responder Con Cita
  #5  
Antiguo 11-01-2013
Anusky Anusky is offline
Miembro
 
Registrado: mar 2008
Posts: 23
Poder: 0
Anusky Va por buen camino
Mil gracias por toda la información, me está siendo super útil . Un saludo a todos!!
Responder Con Cita
  #6  
Antiguo 11-01-2013
Anusky Anusky is offline
Miembro
 
Registrado: mar 2008
Posts: 23
Poder: 0
Anusky Va por buen camino
Un saludo a todos de nuevo,
después de leer la información he probado el código y me salta un 'OLE error 800A03EC' al leer el valor de la casilla. Según he leído la automatización funciona a partir de excel 2007 con formato .xlsx, pero mi programa debe funcionar con archivos .xls, que son los que yo uso para las pruebas. Dejo aquí el código por si no fuese problema de la extensión del archivo:

Código Delphi [-]
procedure TMuestraArchivoForm.procesarArchivo;
var
  p: integer;
  x: String;
  listaContenidoExcell: TStringList;
  Excel, WrkS, WrkB: OLEVariant;
  Row, Col: Integer;
  Rows, Cols: Integer;
begin
  //Variable de control
  p := 0;

  //--------------
  Excel := CreateOleObject('Excel.Application');
  Excel.Workbooks.Open(FRutaArchivo);

  WrkS := Excel.Worksheets[1];
  Cols := WrkS.UsedRange.Columns.Count;
  Rows := WrkS.UsedRange.Rows.Count;
  //-------------


  repeat
    listaContenidoExcell := TStringList.Create;

    for Row := 1 to Rows + 1 do
    begin
      x := Excel.ActiveSheet.Cells[Row, Col].Value;
      if x <> EmptyStr then
        listaContenidoExcell.Add(x);
    end;

//----Aquí hay código de lo que hago con el stringlist de meterlo en casillas y tal---//

    inc(p);
    FreeAndNil(listaContenidoExcell);
  until p = Cols + 1; 
  
  Excel.Quit;

end;

El fallo me da en la línea 'x := Excel.ActiveSheet.Cells[Row, Col].Value;'
Muchas gracias de nuevo por todo, seguiré haciendo pruebas.
Responder Con Cita
  #7  
Antiguo 11-01-2013
Anusky Anusky is offline
Miembro
 
Registrado: mar 2008
Posts: 23
Poder: 0
Anusky Va por buen camino
Solucionado, empezaba a leer la columna 0 y por eso saltaba el fallo. Muchas gracias por todo el código está hecho y funcionando perfectamente. Un saludo!
Responder Con Cita
Respuesta


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
porque es tan complidado importar datos de excel a delphi Rofocale Varios 13 19-06-2012 18:15:23
Importar tablas Dbf a base de datos Access desde delphi yusnerqui Tablas planas 6 25-08-2010 23:10:02
Componente en Delphi 2006 para importar datos de excel a postgres saul_fg PostgreSQL 0 01-04-2009 18:49:56
importar datos de excel a una base de paradox con delphi roraclau Tablas planas 4 11-01-2007 01:50:29
Importar datos lafirma Firebird e Interbase 1 19-05-2003 10:26:26


La franja horaria es GMT +2. Ahora son las 01:43:11.


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