Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Conectar Delphi con Excel (https://www.clubdelphi.com/foros/showthread.php?t=64294)

roman 25-03-2009 18:57:40

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

Kipow 25-03-2009 20:23:52

Excelente info yo lo hacia con los componentes de la paleta servers.

Faust 26-03-2009 16:40:00

Muy buena opción, la probaré la próxima vez que necesite algo de Excel...

soldierxp 26-06-2010 19:58:04

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...


La franja horaria es GMT +2. Ahora son las 00:32:49.

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