Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-05-2008
faustino36 faustino36 is offline
Registrado
 
Registrado: ago 2007
Posts: 3
Poder: 0
faustino36 Va por buen camino
Que tal, he probado el codigo y funciona muy bien. Alguien sabe como listar las hojas que contiene el documento de excel; en el ejemplo se muestra utilizando la hoja, pero quisiera hacer dinamica esta parte y permitir que el usuario escoja la hoja que desee, alguien sabe como hacer esto?
Responder Con Cita
  #2  
Antiguo 21-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por ejemplo:

Código Delphi [-]
var
  Excel, Workbook, Worksheet: OleVariant;
  I: Integer;

begin
  Excel := ComObj.CreateOleObject('Excel.Application');

  Workbook := Excel.Workbooks.Open('C:\ruta\al\documento.xls');
  for I := 1 to Workbook.Worksheets.Count do
    Memo1.Lines.Add(Workbook.Worksheets[i].Name);

  Excel.Visible := true;
end;

Posteriormente puedes hacer referencia a una hoja ya sea con el índice numérico o con el nombre:

Código Delphi [-]
Workbook.Worksheets[2]
Workbook.Worksheets['Hoja2']

// Saludos
Responder Con Cita
  #3  
Antiguo 21-05-2008
faustino36 faustino36 is offline
Registrado
 
Registrado: ago 2007
Posts: 3
Poder: 0
faustino36 Va por buen camino
Muchas gracias, era exactamente lo que buscaba, ya lo pude implementar, gracias de nuevo
Responder Con Cita
  #4  
Antiguo 26-05-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 21
felipe88 Va por buen camino
Hola compañeros del club... buscando otras alternativas para importar datos de excel (En mi caso para Firebird), encuentro generalmente este codigo que ustedes proponen, pero ultimamente tengo un problema con el mismo ya que de un momento a otro me salio el error "Out of memory" y no me completa la carga del archivo; por eso me gustaria saber si conocen de la posible causa de la aparicion de este error y una posible solucion... de antemano gracias

Saludos ...
__________________
Web
Responder Con Cita
  #5  
Antiguo 26-05-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Es muy grande tu archivo? De ser así, quizá te funcione mejor usar ADO, tal como mencioné en el mensaje 7.

// Saludos
Responder Con Cita
  #6  
Antiguo 26-05-2008
axlrafael axlrafael is offline
Miembro
 
Registrado: abr 2008
Posts: 36
Poder: 0
axlrafael Va por buen camino
Hola amigos, disculpen otra pregunta, ¿como puedo elegir el rango de F13:Q39 con el código que nos proporciono Caro?.

Es decir, tengo un formato de excel ya estandarizado pero los datos que necesito estan en este rango:

F G H I J K L M N Ñ O P Q
13
14
15
..
...
...
39

En el código aparece esto:


Código:
RangoMatriz := Excel.Range['A1', Excel.Cells.Item[CantRow,CantCol]].Value;
Ahi pongo según yo el rango que necesito, pero a la hora de probar me marca error.

Saludos a todos.
Responder Con Cita
  #7  
Antiguo 27-05-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 21
felipe88 Va por buen camino
Cita:
Empezado por roman Ver Mensaje
¿Es muy grande tu archivo? De ser así, quizá te funcione mejor usar ADO, tal como mencioné en el mensaje 7.

// Saludos
Vaya!!! no me habia dado cuenta de que el ave fenix habia revivido de sus cenizas ... o hace mucho que no volvia ?... Bueno roman, la verdad el archivo maneja unos casi 40.000 registros, normalmente esta carga al StringGrid que uso me tomaba menos de un minuto... de aqui solo es cuestion de pasarlo a la BD (Uso DBExpress) y para serte sincero no quisiera recurrir a ADO como la primera solucion aunque sea la mas efectiva, pues nunca lo he usado y no quisiera gastar en aprenderlo en este momento... ademas, cuales serian las dll's o bpl's que necesitaria en instalador en caso de que me decida ...
__________________
Web
Responder Con Cita
  #8  
Antiguo 27-05-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 21
felipe88 Va por buen camino
Bueno estuve probando ADO y logre esto:

Código Delphi [-]
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + QuotedStr(Edit1.Text) +';Extended Properties=Excel 8.0;Persist Security Info=False';
ADODataSet1.Open;


Aqui le paso al ADOConnection1 el archivo de excel que necesite por medio de un Edit... y luego solo lo abro, hasta funciona mas rapido ; la pregunta del millon sigue siendo, una vez tenga este problema solucionado que dll y bpl necesito para el instalador...

Por cierto gracias por el codigo...





PD: Aca usamos caritas para todo
__________________
Web
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
importar datos de excel a firebird Choclito Varios 6 06-02-2007 02:26:10
como importar informacion a mi base de datos desde un disket ibbeth Firebird e Interbase 13 20-01-2007 10:18:38
Importar desde Excel Lucas_diaz1810 Conexión con bases de datos 5 03-11-2006 18:15:26
Importar desde Excel LucasArgentino SQL 1 24-12-2003 17:33:26
importar datos de excel a mi aplicacion squenda Varios 2 11-12-2003 03:33:32


La franja horaria es GMT +2. Ahora son las 08:25:36.


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