FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Exportar e Importar Datos
Hola a Todos:
Quisiera saber si alguien me pudiera dar una idea de como exportar y exportar unos datos en una aplicación hecha con Delphi 7 y MSSQL server 2000, en mi caso por ejemplo tengo dos tablas TEmpresa (idEmp int, Empresa varchar 50) y TFactura (idFac int, idEmp int, imp money) ahora si este aplicacion se llevara en varias empresa de forma independiente, es decir en cada empresa la tabla TEmpresa solo tendrá un solo articulo, y en una compañía que agrupa a todas estas empresas quiere tener el resultado de todas, yo pensee ponerle a la aplicacion un boton que diga Exporar Empresa y otro que diga importar, pero no tengo idea como implementarlo, por lo que agradeceria cualquier ayuda |
#2
|
|||
|
|||
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; 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; Espero que te sirva. Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
#3
|
|||
|
|||
Agradecido
Ok, Luis voy a probar y muchas gracias
|
#4
|
||||
|
||||
Pues llevo años haciendo exportaciones/importaciones y siempre han sido en formato texto, ocupa poco, es rápido, cómodo, lo puedes ver con cualquier editor y además es gratis. El formato xls es un formato propietario, complejo, cerrado, necesitas comprar el programa (o piratearlo) y además no puedes verlo con otro programa.
Aunque ultimamente estoy probando xml, que a fin de cuentas es texto formateado.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 10-11-2005 a las 19:31:30. Razón: Se me olvidó algo. |
#5
|
||||
|
||||
Hay una opción muy interesante a la hora de exportar pero depende de como tenga los locales el que abra el informe.
Con locales me resfiero a la configuración de la PC donde se abre el archivo, la cual puede tener como delimitador numerico de decimales la coma o el punto. La idea es generar el reporte como si fuera una tabla html... Código:
<table ....> <tr> <td>datos...</td> <tr> </table> Pero recuerda, los locales son el problema !!! Saludetes.
__________________
El diseño dira si tiene futuro... |
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
Creo que la idea de un foro es discutir un tema hasta llegar al fondo y aprender cosas nuevas o enseñarlas...
Mira esto: Cita:
Hay gente (clientes) que piden Excel, Word, Access, DBF , XML, Texto, CSV, etc... para sus sistemas o para ellos. Al igual que tu, creo que lo mejor siempre es un formato simple como el texto, pero la realidad demuestra que el paga tiene la razón, jejejeje... Por esto a la hora de exponer, nuestros enfoques tienen que ser múltiples y ayudar a quien sea con la mayor informacion posible, para que el se encamine con "la" opción que mejor se adapte a sus necesidades !!! Saludetes.
__________________
El diseño dira si tiene futuro... |
#8
|
||||
|
||||
No te quito la razón, la tienes, cuando es necesario hacer algo en el formato que sea, se hace.
Pero, en este caso, no se hace referencia a ningún formato específico, simplemente se pide hacer una sencilla exportación/importación de unos poquitos datos, para algo así creo que es recomendable algo sencillo, cómodo, rápido e independiente de otros programas. No hay necesidad alguna de usar formatos de otros programas. Opino, pienso, creo... que si me piden, por ejemplo, pasar un bmp a jpg desde delphi, lo más razonable es dar alguna solución cómoda e independiente de otros programas. En este caso, aconsejando el formato xls, es como si hubiese contestado: grabas el bmp en disco en formato gif, luego abres el photoshop (y lo compras o pirateas) y lo exportas a jpg, luego lo grabas a disco en ese formato, cierras el photoshop y abres el programa de importación donde podrás leer el archivo en el formato deseado, el jpg. Me parece una barbaridad poner un programa de por medio, cuando no es necesario. Y vuelvo a repetir lo mismo, a veces hace falta y no queda más remedio que usar formatos de otros programas, por supuesto, y se hace. En fin, es sólo una opinión y puedo estar equivocado en mi razonamiento, pero es lo que yo haría. Saluditos. |
|
|
|