Desearia saber mejorar la creacion de archivos en Excel, en general uso la creacion de Objeto de Excel como lo muesto mas abajo, todo sale bien y me crea el archivo sin problemas, incluso con mas de 100,000 registros , pero es una hoja sin ningun efecto y con columnas fijas, me gustaria saber como puedo hacer lo siguiente :
1. Darle un ancho determinado a la columna del Excel
2. Como darle formato con Dos decimales a las culumna con valor numerico:
3. Como ponerle bordes al contorno de Unrango de celdas
4. Cono darle color de Letra una determinada columna
5. Como cambiar el Tipo de Letra o el tamaño de letra
Exsiten otros metodos como crear archivos en Excel mas amigablemente,
Por lo que se la Clase TXls() no funciona bien para Office10 o con archivos muy extensos, se corta.
Gracias por sus futuros comentarios
Lubin
- Code: Select all Expand view
oExcel:=CreateObject( "excel.application" )
oExcel:DisplayAlerts=.F.
oBook :=oExcel:Workbooks:Add()
oSheet:=oExcel:ActiveSheet
xls_nFormat := oBook:Get("FileFormat")
*Titulos de la Hoja
oSheet:Cells(1,01):Value = "MES "
oSheet:Cells(1,02):Value = "Nr.DOCUM"
oSheet:Cells(1,03):Value = "FECHA "
oSheet:Cells(1,04):Value = "IMPORTE"
oSheet:Cells(1,05):Value = "COBRADOR"
xls_cMemo :="" && Campo de memo para el Copy-Paste
xls_fila :=xls_fila+1 && La fila Inicial donde se cargan las lineas en bloque
xls_linpaste:=xls_fila && Ultima fila pegada
*Lopp del Detalle del reporte
DO WHILE .not. eof()
xls_vLinea:={}
* Cargo los valores a Pegar en el excel
aadd(xls_vLinea, CPAGO->MES )
aadd(xls_vLinea, CPAGO->NUMREGOPE )
aadd(xls_vLinea, CPAGO->FECCOM )
aadd(xls_vLinea, CPAGO->IMPORTE )
aadd(xls_vLinea, CPAGO->COBRADOR )
*Vamos contando cuantas filas van CARGADAS
xls_fila=xls_fila+1
*&& funcion que concatena y pega en la hoja de calculo
xls_cMemo := xls_Linea(oSheet,xls_cMemo,xls_vLinea,xls_fila,@xls_linpaste)
SKIP && paso al siguiguiente registro
ENDDO
xls_final(oSheet,xls_cMemo,xls_linpaste)
*Cierre de reporte
oBook:saveAS( xls_File, xls_nFormat )
oExcel:Quit()