Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Importar desde Excel a Mysql o dbgrib (https://www.clubdelphi.com/foros/showthread.php?t=90191)

darkbits 23-04-2016 01:29:48

Importar desde Excel a Mysql o dbgrib
 
hola
tengo este codigo que funciona de pelo, el problema es que el archivo tiene que ser csv, hay alguna forma de importar un xls?
este codigo importa directamente no respeta mi DB el campo id_numeral que es auto incremento. tengo que colocarlo al final de la tabla en la DB para que no le llene dato.

y como puedo continuar llenando ? porque ahi me da error..

Código Delphi [-]
_DM.tablarates.Active:=false;
_DM.consulta1.SQL.Add('LOAD DATA INFILE ''d:/rates.csv'' INTO TABLE voip.rates FIELDS TERMINATED BY '',''LINES TERMINATED BY ''\n''ignore 1 lines;');
_DM.consulta1.ExecSQL;
_DM.tablarates.Active:=True;
end;

yo necesito cargar de XLS a mi DB mysql o es mejor cargar XLS mediante un DBGRIB

no encuentro ejemplos de XLS y mysql o DBgrib agradesco su ayuda o si tienen ejemplo super asi los estudio.

AgustinOrtu 23-04-2016 03:50:46

Graba el xls como csv

darkbits 23-04-2016 16:10:02

Hola AgustinOrtu

en el ejemplo que comparto, si me funciona con csv
lo que yo necesito es directo importar desde xls

saludos.

AgustinOrtu 23-04-2016 17:24:08

Entendi mal... :o

Busca por los foros y encontraras un monton de informacion, por ejemplo este enlace

xalo 26-04-2016 18:47:43

Un excel a un dbgrid:
  • Por ejemplo mediante ADO. Suelta en un form un ADOConnection, un ADOQuery, un Datasource, DBgrid, Edit (donde escribirás el nombre del archivo excel) y un button (lógicamente con sus links correspondientes)
  • Usa el siguiente código en onclick del boton y (salvo error) debería mostrar el contenido de la pestaña Hoja1 del archivo de excel.
    Código Delphi [-]
    
    ADOQuery1.Close;
    ADOQuery1.SQL.text := 'SELECT * FROM [Hoja1$]';
    ADOQuery1.Open;
    DM.ADOConnection1.Connected := false;
    ADOConnection1.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;'+
                                                'Data Source='+Edit1.text+
                                                ';Mode=Share Deny None;Extended Properties="Excel 12.0 Xml;'+
                                                'HDR=yes";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
                                                'Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=37;'+
                                                'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;'+
                                                'Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";'+
                                                'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
                                                'Jet OLEDB:Dont Copy Locale on Compact=False;'+
                                                'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;'+
                                                'Jet OLEDB:Support Complex Data=False';
    
    ADOConnection1.Open;
Un dbgrid a un CSV:
  • Por ejemplo, simplemente con el componente de las JCL-> JvDBGridExportCSV

Saludos

PD:Lo siento pero en el connectionstring veo unos smiles que no se suprimir :-)


La franja horaria es GMT +2. Ahora son las 05:46:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi