Saludos Estimados
Quizas alguien ya paso por esto, cuando genero un Excel con FileXls y este tiene una serie de formulas, estas se guardan bien, hasta la linea 161XX (dieciseismil, ciento y algo) pero la siguiente sumatoria que es en la linea 16930 la formula esta mal gravada por la clase, explico con ejemplo
Ultima linea de formulas bien gravada en el Excel
Esto en la Columna 12 y en la Linea 16208 (L = 12 en Excel), esta formula esta OK, y todas las anteriores tambien (como 60 quiebres)
=SUMA(L15724:L16207)
Pero en la siguiente formula, la clase grava en el Excel esto :
=SUMA(L$549:$L16210)
Le aumenta el signo de $ a la formula y altera el valor, el 549 no es para nada el inicio, es el 16210 y el final es 16933
Estoy recontra seguro que los valores pasados por referencia a la clase estan Ok pues revise las variables al momento de invocar la funcion :
@ nCtl,12 XLS FORMULA _sum(nCtc,12, nCta-1,12) FORMAT nFon BORDER OF oFileXLS
Y el Metodo Formula de la Clase FileXls recibe bien los valores, lo verifique, esta al momento de grabar la formula por parte de la clase, pero no tengo ni idea donde, alguna idea ??
GRACIAS
//----------------------------------------------------------------------------//
METHOD Formula( nRow, nCol, nNumber, lRecalc, cFormula, ;
lHidden, lLocked, nFont, nFormat, lShaded, ;
nBorder, nAlignament ) CLASS TFileXLS
local cExpression := GetExpression( cFormula )
local nLen := Len( cExpression )
DEFAULT nNumber := 0, lRecalc := .t.
DEFAULT lHidden := .f., lLocked := .f., nFont := 0, nFormat := 0, lShaded := .f., ;
nBorder := BORDER_NONE, nAlignament := ALING_NULL
FWrite( ::hFile, Chr( 06 ) + Chr( 00 ), 2 )
FWrite( ::hFile, I2Bin( 17 + nLen ), 2 )
::PutCoors( nRow, nCol )
::PutAttributes( lHidden, lLocked, nFont, nFormat, lShaded, ;
nBorder, nAlignament )
FWrite( ::hFile, D2Bin( nNumber ), 8 )
FWrite( ::hFile, Chr( if( lRecalc, 2, 0 ) ), 1 )
FWrite( ::hFile, Chr( nLen ), 1 )
FWrite( ::hFile, cExpression, nLen )
return nil
Error al grabar formulas con FileXLS con + de 16000 lineas
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Error al grabar formulas con FileXLS con + de 16000 lineas
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
-
- Posts: 26
- Joined: Fri Jan 02, 2009 3:12 pm
Re: Error al grabar formulas con FileXLS con + de 16000 lineas
No es posible construir hojas mas grandes, ya que existe un limite en el archivo al escribir, por lo que tienes que controlar, si mal no recuerdo todo se casca a los a ´partir de la linesa 1800 y tantos. esto ocurre cuando estas usando formulas
como texto no se me ha presentado ningun problema
te recomiento que uses otro metodo para escribir en XLSx
como texto no se me ha presentado ningun problema
te recomiento que uses otro metodo para escribir en XLSx
-
- Posts: 440
- Joined: Fri Oct 07, 2005 2:17 pm
- Location: Lima - Peru
- Contact:
Re: Error al grabar formulas con FileXLS con + de 16000 lineas
Saludos Augusto
Gracias por contestar, si es solo con las formulas, en texto directo, llega hasta las 64,500 lineas que son la limitacion propia del .XLS
Se rompe a partir de la linea 16,000 y algo, pero me parece que si fuera una limitacion al escribir, deberia ser en todos _, no solo en las formulas ..., la solucion por el momento es grabar el resultado, ya no la formula a partir de esa linea.
Gracias por contestar, si es solo con las formulas, en texto directo, llega hasta las 64,500 lineas que son la limitacion propia del .XLS
Se rompe a partir de la linea 16,000 y algo, pero me parece que si fuera una limitacion al escribir, deberia ser en todos _, no solo en las formulas ..., la solucion por el momento es grabar el resultado, ya no la formula a partir de esa linea.
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD
Lima-Peru
xHb 1.23, Fwh 20.04, MySQL 5.7 - 8.0, SQLLIB 1.9m, SQLRDD