PDA

Ver la Versión Completa : Importar de Excel a InterBase


Kompac
15-05-2003, 17:04:43
Hola a todos, tengo un pequeño problema a la hora de importar de excel a interbase, bueno les cuento en un TStringGrib consigo leer el fichero de excel el cual tiene 60 columnas y n registros siempe, el problema esta en que no doy como puedo ir leyendo del TStringGrib fila por fila y asignarlo a dos IBQuery para que los datos se almacenen en dos tablas diferentes...

Agradeceria y me ayudaran con este pequeño problema...Trabajo con D5E & IB6 W2KP

Gracias:D

Kafu
16-05-2003, 09:31:52
Creo que puedes acceder a los valores de cada celda mediante la propiedad cells[columna, fila]. Si pones en el sql de insercion los parámetros en el miso orden en que están sus valores en las columnas bastaría con recorrer el stringgrid y asignar params[indice].value := cells[indice, fila]. O crearte un record o una clase que se encargue de hacer corresponder valores de celda a parámetros. Bueno, hay mil formas de hacerlo.
Eso en el supuesto de que lo quieras hacer desde programa, si simplemente quieres exportar los datos una vez también puedes grabar el xls como dbf y luego usar el datapump para pasarlo a interbase. Espero no haber añadido tinieblas a tu duda. Un saludo,







F.T.G.

FRANKER
16-05-2003, 10:44:32
¿Por qué no importas directamente desde la hoja de Excel?
De paso que importas los datos desde excel, puedes pasarlos directamente a interbase. La Forma de hacerlo seria mas o menos esta:


Var
Actual : Integer;
begin
...
Articulos.QInsert.SQL.Clear;
Articulos.QInsert.SQL.('insert into TABLA(FLD1,FLD2,FLD3) values(:CAMPO1,:CAMPO2,:CAMPO3');
For Actual := 1 To 30 Do
Begin
with Articulos.QInsert do
begin
Params.ByName('CAMPO1').value:=Excel.Cells[Actual,1].Value;
Params.ByName('CAMPO2').value:=Excel.Cells[Actual,2].Value;
Params.ByName('CAMPO3').value:=Excel.Cells[Actual,3].Value;
ExecQuery;
end;
end;
...


La Forma de Hacerlo desde El StrinGrid seria muy similar.

Saludos y Suerte!!!

Kompac
16-05-2003, 14:24:23
Gracias Franker probe de esta manera y funciono voy a modificarlo para que funcione con es TStringGrib y si funciona te aviso OK:D