Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 10-11-2005
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 504
Poder: 22
lgarcia Va por buen camino
Exportar e importar datos

Hola:

Para la importacion e importacion de datos te recomendaria utilizar Excel dado que como funciona como una tabla te sera mas facil el tratamiento de estos procesos.

Para la exportacion debes crear un procedimiento almacenado que te devuelva los datos de la empresa que va a exportar y de ahi llenas la hoja de Excel y luego creas otro procedimiento almacenado para insertar esos datos el cual leera los datos de la hoja de Excel.

Te dare algun codigo con una muestras.

Para importar
Código:
procedure TFormMenu.Productos2Click(Sender: TObject);
var
  j: Integer;
begin
  try
	Excel := CreateOleObject('Excel.Application');
  except
	Excel.Quit;
	showmessage('No se pudo crear el Objecto Excel.');
	raise;
  end;
  if OpenDialogXls.Execute then Archivo:= OpenDialogXls.FileName
  else exit;
  Excel.Workbooks.Open(Archivo);
  j:= 2;
  try
	repeat
	  with InsertarProductos do
	  begin
		Close;
		Parameters.ParamByName('@codplu').Value:= Excel.Cells[j,1].Value;
		Parameters.ParamByName('@codtrasval').Value:= Excel.Cells[j,2].Value;
		Parameters.ParamByName('@codfabricante').Value:= Excel.Cells[j,3].Value;
		Prepared:= True;
		ExecProc;
	  end;
	inc(j);
	until Excel.Cells[j,2].Value = '';
	Excel.quit;
	ShowMessage(' El fichero de productos ha sido importado exitosamente');
  except
	ShowMessage(' !!!!! ATENCION !!!!! ' + chr(13) +
					' El fichero no pudo ser importado' + chr(13) +
					' Revise bien su estructura');
  end;
end;
Para exportar
Código:
procedure TFormMenu.otal4Click(Sender: TObject);
var
  Excel, Libro: Variant;
  i: integer;
begin
  Excel:=CreateOleObject('Excel.Application');
  Excel.Visible := False;
  Excel.DisplayAlerts:= False;
  Excel.WorkBooks.Add('C:\Archivos de programa\Tienda\Inventario.xlt');
  Excel.WorkBooks[1].WorkSheets[1].Name := 'Productos';
  Libro := Excel.WorkBooks[1].WorkSheets['Productos'];
  with Inventario do
  begin
	Close;
	Open;
  end;
  try
	Inventario.First;
	i:= 2;
	while not (Inventario.Eof) do
	begin
	  Libro.Cells [i,1] := InventarioCodTrasval.Value;
	  Libro.Cells [i,2] := InventarioDescripcionPLU.Value;
	  Libro.Cells [i,3] := Inventariopreciocosto.Value;
	  inc(i);
	  Inventario.Next;
	end;
	Libro.SaveAs('C:\Archivos de programa\Tienda\Inventario actualizado');
	ShowMessage(' El fichero Inventario actualizado.xls ha sido creado exitosamente');
	Excel.Quit;
  except
	ShowMessage(' El fichero no pudo ser creado');
	Excel.Quit;
  end;
end;
Para la exportacion te recomiendo que trabajes con una plantilla de Excel porque te ahorraras el problema de tener que darle formato a los datos. Otra cosa que debes tener en cuenta es que en el uses de la Unit debes incluir Excel97, ComObj.

Espero que te sirva.

Saludos
Luis Garcia

_____________________________
La mejor manera de decir es hacer
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:35:52.


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
Copyright 1996-2007 Club Delphi