De Excel a MySql

De Excel a MySql

Postby JoseAlvarez » Wed Jul 19, 2023 12:43 am

Hola a todos nuevamente.

Pues eso, tengo una hoja excel con solo 2 columnas, codigo y nombre y necesito pasarlos a una tabla en mysql.

Algun ejemplo.??

Quedo atento.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: De Excel a MySql

Postby cmsoft » Wed Jul 19, 2023 1:25 am

Esta sería una forma (media manual), no se si con las versiones nuevas de Fivewin existe un metodo de la clase nativa.
Code: Select all  Expand view  RUN

#include "Fivewin.ch"
#include "xbrowse.ch"
#include "tdolphin.ch"
PROCEDURE ImportaExcel(cFile)
LOCAL oExcel, oBook, cSql1, q, nTotRow, cCol1, cCol2
oExcel:=TOleAuto():New("Excel.Application")
oBook := oExcel:Workbooks:Open(cFile)
cSql1 := "INSERT INTO productos (codigo,nombre) VALUES "

    oBook:Sheets(1):Select()
    oHoja := oExcel:ActiveSheet()
    nTotRow:= oHoja:UsedRange:Rows:Count()
    FOR q=2 TO nTotRow
      cCol1:=oHoja:Cells( q, 1 ):Value
      cCol2:=oHoja:Cells( q, 2 ):Value
      cSql1 := cSql1 + "("+cCol1 + "," +  cCol2 +")  ,"
    NEXT    
NEXT
oExcel:WorkBooks:Close()
oExcel:Application:Quit()
oExcel:Quit()
RELEASE oHoja
RELEASE oExcel

cSql1 := LEFT(cSql1,LEN(cSql1)-1)
oServer:Execute( cSql1 )
MsgInfo("Proceso terminado","Atencion!")
Return

Espero te sirva
Tambien otra opcion es usar xbrowse para copiar desde Excel y pegar en Xbrowse (en un array) y luego grabar en la base la tabla resultante
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: De Excel a MySql

Postby JoseAlvarez » Wed Jul 19, 2023 1:30 am

Gracias César,

Pruebo y te comento
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 795
Joined: Sun Nov 09, 2014 5:01 pm

Re: De Excel a MySql

Postby nageswaragunupudi » Wed Jul 19, 2023 1:01 pm

I am starting with Excel sheet with this data

Code: Select all  Expand view  RUN

Code    Name
101 cmsoft
102 Jose
103 G.N.Rao
104 Antonio
 


Use this test program:
Code: Select all  Expand view  RUN

#include "fivewin.ch"
#include "adodef.ch"

function Main()

   local cXlBook := "c:\fwh1906\samples\data.xlsx"
   local oCn, oRange, aData, cSql

   oRange := GetExcelRange( cXlBook )
   aData  := xlRangeValue( oRange )
   ADel( aData, 1, .t. )
   cSql  := SQL INSERT INTO mytable ( `code`, `name` ) ARRAY aData
   ? cSql
   // open dolphin or other connection
   //oCn:Execute( cSql )

return nil


This the value of cSql generated:
Code: Select all  Expand view  RUN

   INSERT INTO mytable ( `code`, `name` )
   VALUES ( 101.00,'cmsoft' ),
   ( 102.00,'Jose' ),
   ( 103.00,'G.N.Rao' ),
   ( 104.00,'Antonio' )  
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: De Excel a MySql

Postby audisys » Wed Jul 19, 2023 2:17 pm

Great, Mr. Nages.
But how to close the excel file that was left open.

Image
José David Angulo
Auditoria y Sitemas Ltda.
Cartagena Colombia
audisys
 
Posts: 49
Joined: Wed Apr 18, 2007 6:01 pm
Location: Cartagena - Colombia

Re: De Excel a MySql

Postby nageswaragunupudi » Wed Jul 19, 2023 3:49 pm

Code: Select all  Expand view  RUN
oRange:Parent:Parent:Close( .f. )


oRange:Parent --> oSheet
oRange:Worksheet --> oSheet
oSheet:Parent --> oWorkBook
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10643
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: De Excel a MySql

Postby audisys » Wed Jul 19, 2023 5:53 pm

Perfecto

Muchas Gracias
José David Angulo
Auditoria y Sitemas Ltda.
Cartagena Colombia
audisys
 
Posts: 49
Joined: Wed Apr 18, 2007 6:01 pm
Location: Cartagena - Colombia

Re: De Excel a MySql

Postby cmsoft » Wed Jul 19, 2023 10:57 pm

Excelente Mr. Rao, mucho mucho merjor!
Gracias por siempre enseñar comandos tan potentes.
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 50 guests