Ayuda con Exportacion a Excel
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Ayuda con Exportacion a Excel
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
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
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
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()
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()
- 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
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.
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.
- 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
Hugo:
Prueba dando formato a cada celda.
Saludos
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
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
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
- 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
Hugo:
A mi me funciona bien con el ejemplo que te mostré
Veo que usas
Y me parece que debe ser
Será por ahí?
Saludos
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Ayuda con Exportacion a Excel
Intenta así:
Saludos,
Adhemar
Code: Select all | Expand
oSheet:Range( "A1:A20" ):NumberFormat:="###,##0.00"
Saludos,
Adhemar
Saludos,
Adhemar C.
Adhemar C.
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
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)
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)
- 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
Hugo:
Para formato texto prueba con
Saludos
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
Armando
No habia pensado en eso puede funcionar.. dejeme probar y le aviso
No habia pensado en eso puede funcionar.. dejeme probar y le aviso
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Ayuda con Exportacion a Excel
Aca algunos detalles que uso y me funcionan perfectamente, entre ellos el de formato de celda...saludos...
![Shocked :shock:](./images/smilies/icon_eek.gif)
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!
Gracias a mi Dios ante todo!
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
joseluisysturiz
Gracias, pruebo y aviso
Gracias por la colaboración
Gracias, pruebo y aviso
Gracias por la colaboración
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Ayuda con Exportacion a Excel
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...
![Shocked :shock:](./images/smilies/icon_eek.gif)
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
-
- Posts: 7
- Joined: Wed Jun 03, 2015 8:30 pm
Re: Ayuda con Exportacion a Excel
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
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