Ayuda con Exportacion a Excel

Ayuda con Exportacion a Excel

Postby hugodatapro » Thu Jun 04, 2015 3:28 pm

Buenas amigos tengo consulta y es la siguiente

Cuando doy salida a mi consulta MySql, directamente por sistema hacia excel, la misma la hace bien pero el formato de la Celda prevalece como "General", existe alguna manera de cambiar este tipo de formato de celda en la misma exportación, es decir "Texto,Numerico" ya trate formateando la celda y mandando el valor pero no funciona alguien tiene alguna idea
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby horacio » Thu Jun 04, 2015 4:48 pm

Que usas para hacer la exportación ???

Saludos
horacio
 
Posts: 1363
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Fri Jun 05, 2015 12:44 am

ya te anexo el codigo donde hago la exportacion (para que puedas verlo), lo hago usando la funcion TOleAuto(), el problema esta en que no me deja convertir el formato de la columna

oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oHoja := oExcel:ActiveSheet()

oHoja:Cells:Font:Name := "Arial"
oHoja:Cells:Font:Size := 10

// TITLE
oHoja:Cells( 1, 1 ):Value := "Mayor Analitico Centro de Costo"
oHoja:Cells( 1, 1 ):Font:Size := 12
oHoja:Cells( 1, 1 ):Font:Bold := .T.

// SUBTITLE
oHoja:Cells( 2, 1 ):Value := "Datapro"
oHoja:Cells( 2, 1 ):Font:Size := 12
oHoja:Cells( 2, 1 ):Font:Bold := .F.

oTable:=OpenTable("SELECT * FROM DPCENCOS ")
aCencos:=ASQL("SELECT CEN_CODIGO,CEN_DESCRI FROM DPCENCOS")

IF !Empty(oFrm:cCenDes) .AND. !Empty(oFrm:cCenHas)
cWhere:="CEN_CODIGO"+GetWhere(">=",oFrm:cCenDes) + " AND " +;
"CEN_CODIGO"+GetWhere("<=",oFrm:cCenHas)

oTable:=OpenTable("SELECT * FROM DPCENCOS WHERE "+cWhere)
aCencos:=ASQL("SELECT CEN_CODIGO,CEN_DESCRI FROM DPCENCOS WHERE "+cWhere)
ENDIF

oFrm:oMeter:SetTotal(oTable:RecCount())




WHILE !oTable:Eof()
oFrm:oMeter:Set(oTable:RecNo())
IF Empty(cSql)
cSql:="SELECT CTA_CODIGO"
ENDIF

IF !Empty(csql)
cSql:=cSql+",IF(CEN_CODIGO"+GetWhere("=",oTable:CEN_CODIGO)+",SUM(MOC_MONTO),0) AS '"+oTable:CEN_DESCRI+"'"
ENDIF

oTable:DbSkip()
ENDDO


cWhere:="WHERE MOC_FECHA"+GetWhere(">=",oFrm:dDesde) + " AND " +;
" MOC_FECHA"+GetWhere("<=",oFrm:dHasta)

IF !Empty(oFrm:cCodigo) .AND. !Empty(oFrm:cCodHas)
cWhere:=cWhere + " AND MOC_CUENTA"+GetWhere(">=",oFrm:cCodigo) + " AND " +;
" AND MOC_CUENTA"+GetWhere("<=",oFrm:cCodHas)

ENDIF
cSql:=cSql+" FROM DPASIENTOS INNER JOIN DPCTA ON CTA_CODIGO=MOC_CUENTA " +;
"INNER JOIN DPCENCOS ON MOC_CENCOS=CEN_CODIGO " +cWhere+ "GROUP BY CTA_CODIGO"

oExport:=OpenTable(cSql,.T.)


oHoja:Cells( 3, 1 ):Value := "Cuenta"
oHoja:Cells( 3, 1 ):Font:Size := 8
oHoja:Cells( 3, 1 ):Font:Bold := .F.

nLine:=1

FOR I=1 TO LEN(aCencos)

nLine++
cDescri:=STRTRAN(aCencos[I,2]," ","")
oHoja:Cells( 3, nLine ):Value :=cDescri
oHoja:Cells( 3, nLine ):Font:Size := 8
oHoja:Cells( 3, nLine ):Font:Bold := .F.

NEXT I

nLine:=3
WHILE !oExport:Eof()
nLine++

AEVAL(oExport:aFields,{|a,n| oHoja:Cells( nLine, n ):Value := oExport:FieldGet(n),;
oHoja:Cells( nLine, n ):Font:Size := 10,;
oHoja:Cells( nLine, n ):Font:Bold := .F.})

oExport:DbSkip
ENDDO



oHoja := oExcel:ActiveSheet()
oExcel:Visible := .T.
oExcel:End()
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby jnavas » Fri Jun 05, 2015 4:15 am

Hugo
Saludos, bienvenido al foro de fivetech, hugo es un programador de AdaptaPro. Agradecido de cualquier apoyo que puedas recibir por parte de los integrantes de este foro.
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: Ayuda con Exportacion a Excel

Postby Armando » Fri Jun 05, 2015 2:31 pm

Hugo:

Prueba dando formato a cada celda.
Code: Select all  Expand view  RUN

    oSheet:Cells(nRow, nCol):Set("NumberFormat","#,###.00")
 


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Fri Jun 05, 2015 3:50 pm

Sr Armando

Ya probe eso, formateando la celda y montando el formato, el cual no funciono me cambia el formato de celda a "personalizado", estuve leyendo en las opciones de excel Ctrl+Mayuscula+f12 luego ctrl+mayus+f2 me muestra las funciones de excel para cambiar el tipo de formato, pero aun no doy con la solucion
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby Armando » Fri Jun 05, 2015 3:56 pm

Hugo:

A mi me funciona bien con el ejemplo que te mostré

Veo que usas

Code: Select all  Expand view  RUN

oHoja:Cells( 3, nLine ):Value :=cDescri
 


Y me parece que debe ser
Code: Select all  Expand view  RUN

oHoja:Cells( nline, 3 ):Value :=cDescri   // Primero es la línea y luego la columna
 


Será por ahí?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Ayuda con Exportacion a Excel

Postby acuellar » Fri Jun 05, 2015 4:27 pm

Intenta así:

Code: Select all  Expand view  RUN

  oSheet:Range( "A1:A20" ):NumberFormat:="###,##0.00"
 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1644
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Fri Jun 05, 2015 5:35 pm

Amigos

Indico el Numero de la columna para que el solo haga el incremento por la linea (dejo fijo la columna 3, y hace el incremento por linea), ya intente con el numberformat pero eso sirve solamente para convertir la columna a formato numerico (no para convertirla a formato texto)
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby Armando » Fri Jun 05, 2015 5:50 pm

Hugo:

Para formato texto prueba con

Code: Select all  Expand view  RUN

oSheet:Cells(nRow, nCol):Set("NumberFormat","@")
 


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Fri Jun 05, 2015 6:05 pm

Armando

No habia pensado en eso puede funcionar.. dejeme probar y le aviso
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby joseluisysturiz » Fri Jun 05, 2015 8:20 pm

Aca algunos detalles que uso y me funcionan perfectamente, entre ellos el de formato de celda...saludos... :shock:

Code: Select all  Expand view  RUN

oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()

// ESPECIFICAS EN QUE HOJA QUIERES QUE SE INICIE Y TRABAJE, SE SELECCIONA Y LUEGO ACTIVA
oExcel:Sheets("Hoja2"):Select(); oHoja := oExcel:ActiveSheet()

oHoja := oExcel:ActiveSheet() // SINO ESPECIFICAS QUE HOJA, TOMARA POR DEFECTO AL HOJA1

oHoja:PageSetup:Orientation := 2 // 1=xlPortrai(vertical), 2=xlLandscape(horizontal)
oHoja:Cells:Font:Name := "Arial" // ESPECIFICA TIPO DE LETRA PARA TODA LA HOJA
oHoja:Cells:Font:Size := 12 // ESPECIFICA TAMANO DE LETRA PARA TODA LA HOJA
oHoja:Cells(1, nFor):Font:Size := 16 // DETERMINA TAMAÑO DE LETRA A USAR EN UNA CELDA
oHoja:Cells(1, 1):Font:Bold := .t. // PONE EN NEGRITAS VALOR DE UNA CELDA
oHoja:Cells(1, 1):Font:ColorIndex := 5 // COLOR PREESTABLECIDO DE EXCEL DEL CONTENIDO DE LA CELDA
oHoja:Cells(3, 2):Font:Color := RGB(255,0,0) // COLOR DEL CONTENIDO DE LA CELDA
oHoja:Cells(1, 4):Interior:ColorIndex := 16 // COLOR PREESTABLECIDO DE EXCEL DE LA CELDA
oHoja:Cells(3, 2):Interior:Color := RGB(200,160,35) // COLOR DE LA CELDA
oHoja:Cells(3, 1):NumberFormat := "$ ###,##0.00"  // FORMATEAR CELDA NUMERICA
oHoja:Cells(7, 1):FormulaLocal:="=SUMA(A1:A5)" // APLICAR FORMULA A UNA CELDA

oHoja:Shapes:AddPicture( "C:\CARPETA1\CARPETA2\BITMAPS\firma.jpg", .t., .t., 30, 30, 40, 60 ) // AGREGA IMAGEN A EXCEL

Hoja1.Shapes.AddPicture "ruta:\Img.jpg", msoFalse, msoCTrue, Hoja1.Range("A1").Left, Hoja1.Range("A1").Top, Hoja1.Range("A1").Width, Hoja1.Range("A1").Height
// esto lo que hace es colocar la imagen en la celda especifica, y la imagen toma el alto y ancho de la celda.
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Fri Jun 05, 2015 9:25 pm

joseluisysturiz

Gracias, pruebo y aviso

Gracias por la colaboración
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Postby joseluisysturiz » Sat Jun 06, 2015 2:20 am

hugodatapro wrote:joseluisysturiz

Gracias, pruebo y aviso

Gracias por la colaboración

Cualquier duda o algo nuevo que sepas, avisa para agregarlo a mi repertorio, esto casi todo lo he bajado y probado desde las macros de visual bicho y han funcionado de la misma manera con xh y fwh...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Ayuda con Exportacion a Excel

Postby hugodatapro » Tue Jun 16, 2015 3:04 pm

Gracias a todos por su colaboracion

Disculpandome por la demora en responder la funcion que me funciono perfectamente fue esta

oSheet:Cells(nRow, nCol):Set("NumberFormat","@")


Gracias por el aporte

Saludos
hugodatapro
 
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 83 guests