Page 1 of 1
De Excel a MySql
Posted: Wed Jul 19, 2023 12:43 am
by JoseAlvarez
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.
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 1:25 am
by cmsoft
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
#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
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 1:30 am
by JoseAlvarez
Gracias César,
Pruebo y te comento
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 1:01 pm
by nageswaragunupudi
I am starting with Excel sheet with this data
Use this test program:
Code: Select all | Expand
#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
INSERT INTO mytable ( `code`, `name` )
VALUES ( 101.00,'cmsoft' ),
( 102.00,'Jose' ),
( 103.00,'G.N.Rao' ),
( 104.00,'Antonio' )
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 2:17 pm
by audisys
Great, Mr. Nages.
But how to close the excel file that was left open.
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 3:49 pm
by nageswaragunupudi
oRange:Parent --> oSheet
oRange:Worksheet --> oSheet
oSheet:Parent --> oWorkBook
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 5:53 pm
by audisys
Perfecto
Muchas Gracias
Re: De Excel a MySql
Posted: Wed Jul 19, 2023 10:57 pm
by cmsoft
Excelente Mr. Rao, mucho mucho merjor!
Gracias por siempre enseñar comandos tan potentes.