Enviar a excel un reporte desde visual fox
Hola Experto, necesito mandar un reporte a excel donde ocupo mandar un campo de fecha, tengo valores nullos, y no se cómo validar la información.
Tengo el siguiente código
excelo = CREATEOBJECT("excel.application")
excelo.visible = .T.
excelo.workbooks.add
GO top
excelo.rows("4:4").font.color = RGB(0,0,255)
excelo.columns("a:z").font.size = 9
excelo.rows("1:2").font.size = 12
excelo.rows("1:2").font.fontstyle="Negrita"
SET STEP on
*excelo.cells(1,1).value = vNomempr
excelo.cells(2,1).value = "Reporte de Avances de Proyectos Fase I Diseño y Fase II Desarrollo" &&+dtoc(thisform.txtfecini.Value)+" al "+DTOC(thisform.txtfecfin.value)
excelo.cells(4,1).value = "Folio"
excelo.cells(4,2).value = "Categoría"
excelo.cells(4,3).value = "Línea"
excelo.cells(4,4).value = "Estilo"
excelo.cells(4,5).value = "Origen"
excelo.cells(4,6).value = "Lluvia Id."
excelo.cells(4,7).value = "Pull Over"
excelo.cells(4,8).value = "Virtuales"
excelo.cells(4,9).value = "Alta Mat."
excelo.cells(4,10).value = "Prototipo"
excelo.cells(4,11).value = "Muestras"
excelo.cells(4,12).value = "Escala"
excelo.cells(4,13).value = "Corrida"
excelo.cells(4,14).value = "Rediseño"
excelo.cells(4,15).value = "Calce In."
excelo.cells(4,16).value = "Correcciones"
excelo.cells(4,17).value = "Calce Fin."
excelo.cells(4,18).value = "Moldura"
excelo.cells(4,19).value = "Suajes"
vcontador=6
scan
excelo.cells(vcontador,1).value = di_folio_a
excelo.cells(vcontador,2).value = c_p.ap_desfam
excelo.cells(vcontador,3).value = c_p.ap_deslin
excelo.cells(vcontador,4).value = c_p.di_estilo
Aquí es donde no se como validar el campo nullo o vacío,
si con la primera opción o las siguientes.
excelo.cells(vcontador,5).value =iif(ISNULL(c_p.di_fecorig)," / / ",c_p.di_fecorig)
excelo.cells(vcontador,6).value = if(eserror(di_feclluv)," / / ",di_feclluv)
excelo.cells(vcontador,7).value = if(eserror(di_fecpull)," / / ",di_fecpull)
excelo.cells(vcontador,8).value = if(eserror(di_fecvirt)," / / ",di_fecvirt)
excelo.cells(vcontador,9).value = if(eserror(di_fecalta)," / / ",di_fecalta)
excelo.cells(vcontador,10).value = if(eserror(di_fecprot)," / / ",di_fecprot)
excelo.cells(vcontador,11).value = if(eserror(di_fecsolm)," / / ",di_fecsolm)
excelo.cells(vcontador,12).value = if(eserror(di_fecesc)," / / ",di_fecesc)
excelo.cells(vcontador,13).value = if(eserror(di_fecrev)," / / ",di_fecrev)
excelo.cells(vcontador,14).value = if(eserror(di_fecred)," / / ",di_fecred)
excelo.cells(vcontador,15).value = if(eserror(di_fecprci)," / / ",di_fecprci)
excelo.cells(vcontador,16).value = if(eserror(di_feccorr)," / / ",di_feccorr)
excelo.cells(vcontador,17).value = if(eserror(di_fecprcf)," / / ",di_fecprcf)
excelo.cells(vcontador,18).value = if(eserror(di_fecmold)," / / ",di_fecmold)
excelo.cells(vcontador,19).value = if(eserror(di_fecsuaj)," / / ",di_fecsuaj)
vcontador = vcontador+1
excelo.cells(vcontador,1).select
endscan
FOR a = 6 TO 10
excelo.cells(vContador,a).font.bold = .T.
excelo.cells(vcontador,a).font.color = RGB(0,0,255)
ENDFOR
FOR a = 6 TO 10
excelo.cells(vContador,a).font.bold = .T.
excelo.cells(vcontador,a).font.color = RGB(0,0,255)
ENDFOR
*excelo.Columns("A:A").ColumnWidth = 50
excelo.columns("B:Z").entirecolumn.autofit
Tengo el siguiente código
excelo = CREATEOBJECT("excel.application")
excelo.visible = .T.
excelo.workbooks.add
GO top
excelo.rows("4:4").font.color = RGB(0,0,255)
excelo.columns("a:z").font.size = 9
excelo.rows("1:2").font.size = 12
excelo.rows("1:2").font.fontstyle="Negrita"
SET STEP on
*excelo.cells(1,1).value = vNomempr
excelo.cells(2,1).value = "Reporte de Avances de Proyectos Fase I Diseño y Fase II Desarrollo" &&+dtoc(thisform.txtfecini.Value)+" al "+DTOC(thisform.txtfecfin.value)
excelo.cells(4,1).value = "Folio"
excelo.cells(4,2).value = "Categoría"
excelo.cells(4,3).value = "Línea"
excelo.cells(4,4).value = "Estilo"
excelo.cells(4,5).value = "Origen"
excelo.cells(4,6).value = "Lluvia Id."
excelo.cells(4,7).value = "Pull Over"
excelo.cells(4,8).value = "Virtuales"
excelo.cells(4,9).value = "Alta Mat."
excelo.cells(4,10).value = "Prototipo"
excelo.cells(4,11).value = "Muestras"
excelo.cells(4,12).value = "Escala"
excelo.cells(4,13).value = "Corrida"
excelo.cells(4,14).value = "Rediseño"
excelo.cells(4,15).value = "Calce In."
excelo.cells(4,16).value = "Correcciones"
excelo.cells(4,17).value = "Calce Fin."
excelo.cells(4,18).value = "Moldura"
excelo.cells(4,19).value = "Suajes"
vcontador=6
scan
excelo.cells(vcontador,1).value = di_folio_a
excelo.cells(vcontador,2).value = c_p.ap_desfam
excelo.cells(vcontador,3).value = c_p.ap_deslin
excelo.cells(vcontador,4).value = c_p.di_estilo
Aquí es donde no se como validar el campo nullo o vacío,
si con la primera opción o las siguientes.
excelo.cells(vcontador,5).value =iif(ISNULL(c_p.di_fecorig)," / / ",c_p.di_fecorig)
excelo.cells(vcontador,6).value = if(eserror(di_feclluv)," / / ",di_feclluv)
excelo.cells(vcontador,7).value = if(eserror(di_fecpull)," / / ",di_fecpull)
excelo.cells(vcontador,8).value = if(eserror(di_fecvirt)," / / ",di_fecvirt)
excelo.cells(vcontador,9).value = if(eserror(di_fecalta)," / / ",di_fecalta)
excelo.cells(vcontador,10).value = if(eserror(di_fecprot)," / / ",di_fecprot)
excelo.cells(vcontador,11).value = if(eserror(di_fecsolm)," / / ",di_fecsolm)
excelo.cells(vcontador,12).value = if(eserror(di_fecesc)," / / ",di_fecesc)
excelo.cells(vcontador,13).value = if(eserror(di_fecrev)," / / ",di_fecrev)
excelo.cells(vcontador,14).value = if(eserror(di_fecred)," / / ",di_fecred)
excelo.cells(vcontador,15).value = if(eserror(di_fecprci)," / / ",di_fecprci)
excelo.cells(vcontador,16).value = if(eserror(di_feccorr)," / / ",di_feccorr)
excelo.cells(vcontador,17).value = if(eserror(di_fecprcf)," / / ",di_fecprcf)
excelo.cells(vcontador,18).value = if(eserror(di_fecmold)," / / ",di_fecmold)
excelo.cells(vcontador,19).value = if(eserror(di_fecsuaj)," / / ",di_fecsuaj)
vcontador = vcontador+1
excelo.cells(vcontador,1).select
endscan
FOR a = 6 TO 10
excelo.cells(vContador,a).font.bold = .T.
excelo.cells(vcontador,a).font.color = RGB(0,0,255)
ENDFOR
FOR a = 6 TO 10
excelo.cells(vContador,a).font.bold = .T.
excelo.cells(vcontador,a).font.color = RGB(0,0,255)
ENDFOR
*excelo.Columns("A:A").ColumnWidth = 50
excelo.columns("B:Z").entirecolumn.autofit
1 respuesta
Respuesta de pablo Orellana
1