Delphi y Excel (Desarrollando aplicación con los componentes de la paleta Servers)
 
Componentes de la Paleta Servers
Vamos a desarrollar una aplicación que conecte delphi con excel por medio de los componentes que están en la paleta servers ver imagen ilustrativa   ver imagen ilustrativa.
 
 
Hay en esta paleta 3 componentes con los cuales vamos a trabajar.
 
1. TExcelApplication, conecta con un archivo de excel existente.
 
aplicacion.Workbooks.Open (ruta, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 0);
 
2. TExcelWorkBook, conecta con el libro que vamos a trabajar.
 
libro.ConnectTo (aplicacion.Workbooks[1]);
 
3. TExcelWorkSheet, conecta con la hoja de trabajo para navegar por las celdas de excel.
 
hoja.cells.Item[1,2]:= 'Este es una celda'; hoja.cells.item[1,3]:= '20';
 
Con esta explicación podemos colocar datos en excel o extraer datos de excel hacia una base de datos.
 
Desarrollando la Aplicación
Hagamos un ejemplo sencillo de extraer datos de excel e insertarlo en una base de datos. Supongamos que tenemos la siguiente tabla.
 
Producto
-------------------------------
ID int
Referencia VARCHAR(20)
Descripcion VARCHAR(50)
Precio (FLOAT)
------------------------------
 
Migrando datos de Excel a la BD
Ahora necesitamos pasar los datos que están en excel hacía la tabla producto. Veamos como está el archivo en excel.
 
Escribiendo código SQL en Delphi.
1. Creamos un formulario y colocamos los componentes de la paleta servers que vamos a utilizar.
 
TExcelApplication lo llamamos aplicación. TExcelWorkBook lo llamamos libro. TExcelWorkSheet lo llamamos hoja.
 
También colocamos en el formulario un botón el cual se escribe el código para migrar los datos de excel a la tabla.
 
2. Ahora ponemos el siguiente código en el botón.
var
row : Integer;
ruta : String;
begin
ruta:= 'c:/Libro1.xls' ; aplicacion.Connect; aplicacion.Workbooks.Open(ruta ,EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 0); libro.ConnectTo (aplicacion.Workbooks[1]); hoja.ConnectTo
(libro.Worksheets[1]
as _Worksheet);
 
//Recorremos la hoja de excel insertamos en //la tabla
 
table1.Open;
for Row := 2 to 4 do
begin
Table1.Append; Table1['ID'] := Row ; Table1['REFERENCIA'] := (Hoja.Cells.Item[Row, 1]; Table1['DESCRIPCION'] := Hoja.Cells.Item[Row, 2]; Table1['PRECIO'] := Hoja.Cells.Item[Row, 3]; Table1.Post;
end;
showMessage('DATOS INSERTADOS CORRECTAMENTE'); libro.Save; libro.Close; aplicacion.Quit; aplicacion.Disconnect;
end;
 
Regresar al Inicio