Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 406
Poder: 9
cmfab Va por buen camino
Abrir archivo excel 2007 o 2010

Hola a todos !!!

uso el siguiente trozo de código para abrir y leer las celdas de un archivo de excel

Código Delphi [-]
  if not OpenDialog1.Execute then exit;
  FileName := opendialog1.FileName;
  Excel := CreateOleObject('Excel.Application');
  Excel.Workbooks.Open(FileName);
  Sheet := Excel.Workbooks[ExtractFileName(FileName)].WorkSheets[1];
  Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;

pero solo me funciona con archivos de office 2003 (*.xls). que instrucción debería usar si el usuario selecciona un arhivo *.xlsx de office 2007 o 2010.

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 02-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.198
Poder: 31
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cmfab.

No sé que versión de Delphi estas usando.... mirá en estos enlaces:
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 02-05-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 406
Poder: 9
cmfab Va por buen camino
Gracias ecfisa voy a revisar los links
Responder Con Cita
  #4  
Antiguo 14-05-2012
Jetzuvely21 Jetzuvely21 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
Jetzuvely21 Va por buen camino
Hola cmfab, tengo el mismo problema para la lectura de los archivos para office 2007 y 2010. Estoy trabajando en delphi 5 y utilizo el mismo trozo de codigo que tu para abrir los archivos (objeto ole). ¿encontraste alguna solución?...Yo por el momento he buscado en el foro y he encontrado que se puede hacer con ADO,instalando componentes externos y con archivos csv (delimitado por comas).

De antemano muchas gracias, saludos!
Responder Con Cita
  #5  
Antiguo 18-05-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 406
Poder: 9
cmfab Va por buen camino
Hola, Jetzuvely21

Lamento decirte que no me ha funcionado para office 2010, por lo que mi cliente optó por dejar los archivos en formato 2003. si hay alguna solucion sería bueno que alguien dejara el codigo detallado.

un saludo !!!!
Responder Con Cita
  #6  
Antiguo 18-05-2012
Jetzuvely21 Jetzuvely21 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
Jetzuvely21 Va por buen camino
Cita:
Empezado por cmfab Ver Mensaje
Hola, Jetzuvely21

Lamento decirte que no me ha funcionado para office 2010, por lo que mi cliente optó por dejar los archivos en formato 2003. si hay alguna solucion sería bueno que alguien dejara el codigo detallado.

un saludo !!!!
Gracias por contestarme cmfab, yo opté por los ADO y la importación ya la hice con excel y con .csv, aunque ahora lo que ando buscando el porqué me devuelve algunos valores en blanco cuando son de tipo caracter o cadena de texto.

Ojalá si haya una solución para OLE.... >_<'


Nuevamente gracias y saludos!
__________________
"El mejor alimento del alma, es la inspiración de uno mismo.."
Responder Con Cita
  #7  
Antiguo 10-08-2012
Avatar de elaguna
elaguna elaguna is offline
Miembro
NULL
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Poder: 11
elaguna Va por buen camino
Ya tiene algún tiempo el tema pero si alguien llega con la misma duda le podría servir.

Cita:
Empezado por ecfisa Ver Mensaje
Hola cmfab.

No sé que versión de Delphi estas usando.... mirá en estos enlaces:Saludos.
El primer enlace es el que me pareció más claro y funciona muy bien, sólo un pequeño detalle falta:

Código Delphi [-]
begin
    newWorkbook := XLSXReader.Workbooks.Add('C:\book1.xlsx', GetUserDefaultLCID);
    objXLS := Excel_TLB.TExcelWorkbook.Create(nil);
    objXLS.ConnectTo(newWorkbook);
    objSheet := Excel_TLB.TExcelWorksheet.Create(nil);
    ...

falta inicializar la variable XLSXReader, y obviamente liberarla al final, entonces queda:
Código Delphi [-]
 begin
    XLSReader := Excel_TLB.TExcelApplication.Create(nil);

     newWorkbook := XLSXReader.Workbooks.Add('C:\book1.xlsx', GetUserDefaultLCID);
     objXLS := Excel_TLB.TExcelWorkbook.Create(nil);
     objXLS.ConnectTo(newWorkbook);
     objSheet := Excel_TLB.TExcelWorksheet.Create(nil);
    ...
    ...
    FreeAndNil(objXLS);
      FreeAndNil(objSheet);
    FreeAndNil(XLSXReader);

y es todo, y con eso funciona perfectamente.

Espero les sirva a todos, si hay alguna otra observación, háganla saber.

Saludos

Eduardo Laguna
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita
  #8  
Antiguo 10-11-2014
Avatar de pnsd_89
pnsd_89 pnsd_89 is offline
Miembro
NULL
 
Registrado: mar 2007
Posts: 112
Poder: 13
pnsd_89 Va por buen camino
Question

Hola amigos una consulta en el ultimo código de la primer URL mensiona a un FSheet..
el cual me tira el siguiente error.
[DCC Error] Unit1.pas(102): E2003 Undeclared identifier: 'FSheet'

alguien sabe donde o como se declara el FSheet?
Gracias.
Responder Con Cita
  #9  
Antiguo 30-06-2015
jpgonzalez jpgonzalez is offline
Miembro
NULL
 
Registrado: feb 2010
Posts: 121
Poder: 10
jpgonzalez Va por buen camino
Cita:
Empezado por pnsd_89 Ver Mensaje
Hola amigos una consulta en el ultimo código de la primer URL mensiona a un FSheet..
el cual me tira el siguiente error.
[DCC Error] Unit1.pas(102): E2003 Undeclared identifier: 'FSheet'

alguien sabe donde o como se declara el FSheet?
Gracias.
Buenas, lo que te está queriendo decir el error es que no conoce FSheet, como si fuera una variable que no ha sido declarada.
Mas abajo hay un usuario que menciona lo mismo, y le contestan lo siguiente:

"Hi Pablo,
FSheet is a stringGrid that I have with some values and LastModule can be discarded.
Regards,"

Saludos
Responder Con Cita
  #10  
Antiguo 02-11-2016
sefonk sefonk is offline
Registrado
NULL
 
Registrado: mar 2016
Posts: 6
Poder: 0
sefonk Va por buen camino
Yo tengo un inconveniente con delphi xe 5 donde utilizo unas para excel, las cuales funcionan perfectamente con delphi 2007 pero con xe5 no, el error es que el archivo me aparece con vista protegida siempre y en 2007 no, alguien aun me puede ayudar?
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
Abrir un archivo excel en un stringgrid con Lazarus IDE jejo1984 Lazarus, FreePascal, Kylix, etc. 9 16-01-2012 14:46:49
Abrir un archivo de texto con excel Pitilingorri Varios 4 27-09-2011 12:24:04
Abrir archivo excel desde ruta Jeko Varios 4 28-03-2011 10:50:20
Exportar datos a Excel 2007-2010 HiraSysCom Conexión con bases de datos 2 31-01-2011 22:11:05


La franja horaria es GMT +2. Ahora son las 16:20:51.


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