Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


delphi y excell

Foro sobre popular lenguaje de Borland y el lenguaje pascal.

Moderador: yalmar

delphi y excell

Notapor NILCER el 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:56 pm
Ubicación: juliacamanta

Notapor trunksito el 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
procedure TForm1.Button4Click(Sender: TObject);
var
    appExcel: Variant;
    i, j: integer;
    sql: String;
    x: string;
const
    numCampos: integer = 3;
    numFilas: integer = 4;
   
begin
    appExcel := CreateOleObject('Excel.Application');   
    appExcel.WorkBooks.Open('C:\Excel.xls');

    Memo1.Lines.Clear;
    for i := 2 to (numfilas + 2) do // en la fila 1 esta el nombre del campo
    begin       
        sql := '';
       for j := 1 to numCampos do
        begin
           x := appExcel.WorkBooks[1].Worksheets[1].Cells[i, j];
           sql := sql + x + '''';
            if j <> numCampos then
               sql := sql + ',''';
        end;
        sql := 'insert into mitabla values(''' + sql + ')';
        Memo1.Lines.Add(sql);
    end;

    appExcel.Quit;
    appExcel := Unassigned;
end;


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

El resultado es:

Código: Seleccionar todo
insert into mitabla values('24','1','asfa a dsdfdf')
insert into mitabla values('3','1','asdf as fs')
insert into mitabla values('3','1','sfasfa ')
insert into mitabla values('3','1','asfa a dsdfdf')
insert into mitabla values('3','1','asdf as fs')


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 Delphi

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron