Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2009
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
Conectar Delphi con Excel

Hola,

Desde hace tiempo, cuando requiero conectar Delphi con Excel via ADO uso lo que describí en este hilo y cuyos pasos resumo aquí:
  1. Agregar los componentes ADO a la paleta de componentes

  2. Agregar un componente TAdoConnection y poner su propiedad LoginPrompt en false.

  3. Hacer doble clic en el componente para que se abra el editor de la propiedad ConnectionString, seleccionar "Use connection string" y oprimir el botón "Build" para que se abra la ventana de vínculo de datos.

  4. En la ficha "Proveedor" seleccionar Microsoft Jet 4.0 OLE DB.

  5. En la ficha "Conexión", en el cuadro "Origen de datos" escribir el nombre del archivo excel.

  6. En la ficha "Todas" seleccionar "Extended Properties" y luego "Modificar valor" y escribir "Excel 8.0" (sin las comillas).

  7. Oprimir 'Ok' las veces necesarias para cerrar todas las ventanas.

Con esto, ya se puede conectar un ADOTable y seleccionar la hoja que deseemos del libro de excel en su propiedad TableName.

Ahora bien, este método funciona para varias versiones de Excel, pero no, aparentemente, para Excel 2007. Básicamente hay que cambiar el proveedor (paso 4) por Provider=Microsoft.ACE.OLEDB.12.0.

Pero hay un pequeño problema. Al menos con Delphi 7, al seleccionar este proveedor, la propiedad "Extended Properties" no se guarda correctamente en el "Connection String", pero puede asignarse directamente en código:

Código Delphi [-]
ADOConnection.ConnectionString :=
  'Provider=Microsoft.ACE.OLEDB.12.0;' +
  'Data Source=C:\ruta\al\archivo.xlsx;' +
  'Extended Properties="Excel 12.0"';

y funciona bien.

// Saludos
Responder Con Cita
  #2  
Antiguo 25-03-2009
Avatar de Kipow
Kipow Kipow is offline
Miembro
 
Registrado: abr 2006
Ubicación: Guatemala
Posts: 329
Poder: 19
Kipow Va por buen camino
Excelente info yo lo hacia con los componentes de la paleta servers.
Responder Con Cita
  #3  
Antiguo 26-03-2009
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Thumbs up

Muy buena opción, la probaré la próxima vez que necesite algo de Excel...
__________________
Herr Heins Faust
Responder Con Cita
  #4  
Antiguo 26-06-2010
soldierxp soldierxp is offline
Registrado
 
Registrado: may 2006
Ubicación: Mexico
Posts: 5
Poder: 0
soldierxp Va por buen camino
Que tal roman..

Estoy viendo este hilo ya que ando en busca de una lluvia de ideas. Ya que se nos ocurrio comparar 2 libros en excel y copiar algunos datos del libro 2 al libro 1 siempre y cuando coincidan en ambos libros la descripcion de un producto. Me gusta más el ambiente delphi es por esa razón que estoy por aqui pero ya viendo lo experimentado que eres me gustaría que de ser posible me ayudaras con unos comentarios acerca de si sería muy laborioso hacerlo desde Delphi o bien mediante alguna otra herramienta??.... Gracias...
Responder Con Cita
Respuesta



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
excel a delphi, como mostrar columnas de excel Vyckso Servers 2 13-08-2007 12:38:08
conectar delphi con SQL jamert_92 SQL 5 02-05-2007 19:44:33
conectar a una tabla Excel haron Conexión con bases de datos 3 19-04-2007 16:19:29
Conectar a sql por ssh con delphi zvf MySQL 0 21-11-2006 21:14:23
Conectar Delphi con web marceloalegre Varios 4 05-09-2006 16:05:53


La franja horaria es GMT +2. Ahora son las 09:00:29.


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