delphi y excell

Moderador: yalmar

Foro sobre popular lenguaje de Borland y el lenguaje pascal.

delphi y excell

Notapor NILCER » Vie Jun 27, 2003 5:28 pm

holas como se puede pasar los datos de una hoja de excell a una base de datos en sql, o si alguien sabe como trabajar excell y sql server, si tiene informacion sobre esto mejorrrr gracias, si pueden hacerlo de excel a paradox tambien me gustaria saber como? thanks
Un saludote
NILCER
Novato
Novato
 
Mensajes: 1
Registrado: Vie Jun 27, 2003 4:57 pm
Ubicación: juliacamanta


Notapor trunksito » Dom Jun 29, 2003 6:38 pm

Haber si te entiendo, quieres pasar una hoja de excel a una tabla.
Ok, primero deberias de tener tu hoja de excel bien ordenada, si lo tienes entonces solo crea un objeto activeX de excel y con dos bucles obten los datos de la hoja y a medida que las obtengas los pones en una consulta sql, que luego lo pasas a tu conexion de tu base de datos, esto es para cualquier tipo de base de datos, aqui te va un ejemplo de como hacer esto:

- Primero tengo mi hoja de excel con 3 columnas, que seran mis campos en mi tabla de mi base de datos.

- segundo ejecuto el siguiente codigo que lo puse en el evento click de un boton, ademas necesitaras un control Memo :P :

Código: Seleccionar todo
  1.  

  2. procedure TForm1.Button4Click(Sender: TObject);

  3. var

  4.     appExcel: Variant;

  5.     i, j: integer;

  6.     sql: String;

  7.     x: string;

  8. const

  9.     numCampos: integer = 3;

  10.     numFilas: integer = 4;

  11.    

  12. begin

  13.     appExcel := CreateOleObject('Excel.Application');    

  14.     appExcel.WorkBooks.Open('C:\Excel.xls');

  15.  

  16.     Memo1.Lines.Clear;

  17.     for i := 2 to (numfilas + 2) do // en la fila 1 esta el nombre del campo

  18.     begin        

  19.         sql := '';

  20.         for j := 1 to numCampos do

  21.         begin

  22.                 x := appExcel.WorkBooks[1].Worksheets[1].Cells[i, j];

  23.                 sql := sql + x + '''';

  24.             if j <> numCampos then

  25.                 sql := sql + ',''';

  26.         end;

  27.         sql := 'insert into mitabla values(''' + sql + ')';

  28.         Memo1.Lines.Add(sql);

  29.     end;

  30.  

  31.     appExcel.Quit;

  32.     appExcel := Unassigned;

  33. end;

  34.  



no te olvides de poner el uses 'ComObj' :wink:.

El resultado es:

Código: Seleccionar todo
  1.  

  2. insert into mitabla values('24','1','asfa a dsdfdf')

  3. insert into mitabla values('3','1','asdf as fs')

  4. insert into mitabla values('3','1','sfasfa ')

  5. insert into mitabla values('3','1','asfa a dsdfdf')

  6. insert into mitabla values('3','1','asdf as fs')

  7.  



En tu caso, en ves de Memo1.Lines.Add(sql); deberias poner el procedimiento para que ejecute una sentencia SQL.

Suerte :twisted:
OnlyTK - I'm gonna live Forever
Avatar de Usuario
trunksito
Usuario Activo
Usuario Activo
 
Mensajes: 20
Registrado: Mar Jun 03, 2003 7:33 pm
Ubicación: Perú



    

Volver a Pascal

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron