Ayuda con Exportacion a Excel

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

Ayuda con Exportacion a Excel

Post by hugodatapro »

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
horacio
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Ayuda con Exportacion a Excel

Post by horacio »

Que usas para hacer la exportación ???

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

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

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()
User avatar
jnavas
Posts: 482
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Been thanked: 2 times
Contact:

Re: Ayuda con Exportacion a Excel

Post by jnavas »

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
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Ayuda con Exportacion a Excel

Post by Armando »

Hugo:

Prueba dando formato a cada celda.

Code: Select all | Expand


    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
hugodatapro
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

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
User avatar
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Ayuda con Exportacion a Excel

Post by Armando »

Hugo:

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

Veo que usas

Code: Select all | Expand


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


Y me parece que debe ser

Code: Select all | Expand


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
acuellar
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda con Exportacion a Excel

Post by acuellar »

Intenta así:

Code: Select all | Expand


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


Saludos,

Adhemar
Saludos,

Adhemar C.
hugodatapro
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

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)
User avatar
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Ayuda con Exportacion a Excel

Post by Armando »

Hugo:

Para formato texto prueba con

Code: Select all | Expand


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
hugodatapro
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

Armando

No habia pensado en eso puede funcionar.. dejeme probar y le aviso
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Ayuda con Exportacion a Excel

Post by joseluisysturiz »

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

Code: Select all | Expand


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!
hugodatapro
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

joseluisysturiz

Gracias, pruebo y aviso

Gracias por la colaboración
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Ayuda con Exportacion a Excel

Post by joseluisysturiz »

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!
hugodatapro
Posts: 7
Joined: Wed Jun 03, 2015 8:30 pm

Re: Ayuda con Exportacion a Excel

Post by hugodatapro »

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
Post Reply