Exportación

Hola Experto buen día, exporto unos resultados de mi tabla a Excel pero no exporta todo el contenido, la cantidad de registros que quiero exportar es de 32223 pero cuando abro el excel aparece solo 16384, y el Excel tiene capacidad para 65536 pueden ayudarme a solucionar este problema para que salga todos los registros que necesito gracias.

1 respuesta

Respuesta
1
Necesito que me transcribas la parte de tu código que usas para exportar los datos, así sabre que método usas, comando nativos de fox tales copy to o export, o automatización.
Hola amigo no lo envíe disculpa este es el código que utilizo
select codigo,nombre,edad,sexo, ;
sum(iif(PF_MES=1,1,0)) as MES1,;
sum(iif(PF_MES=2,1,0)) as MES2,;
sum(iif(PF_MES=3,1,0)) as MES3,;
sum(iif(PF_MES=4,1,0)) as MES4,;
sum(iif(PF_MES=5,1,0)) as MES5,;
sum(iif(PF_MES=6,1,0)) as MES6,;
sum(iif(PF_MES=7,1,0)) as MES7,;
sum(iif(PF_MES=8,1,0)) as MES8,;
sum(iif(PF_MES=9,1,0)) as MES9,;
sum(iif(PF_MES=10,1,0)) as MES10,;
sum(iif(PF_MES=11,1,0)) as MES11,;
sum(iif(PF_MES=12,1,0)) as MES12 ;
FROM tabla1;
GROUP BY codigo;
ORDER BY codigo;
into cursor temporal
COPY TO "C:\informe1.xls"
Y también use el
export to C:\Informe1.xls type xls
Pero nada, el visual que utilizo es el 6.0,, gracias
Por lo que veo esta bien el código, vamos a probar automatización a ver si el problema no radica en el copy to, como no estoy en mi oficina no tengo documentación aquí, pero te paso una función que cree para exportar datos a excel formatados y con automatización, si envía toda la información necesaria el problema estará en alguna limitación del copy to.
La función lo llame xExcel() recibe dos parámetros, el alias de la tabla que debe exportar y el titulo del informe, para llamarlo haces así:
Se le temporal
=xExcel("temporal","Listado estadisticos mensuales")
La función es así
Funtion xExcel
Lparameter xAlias, xTitulo
*Crea una planilla de calculos de Excel con la tabla enviada.
*Parametros : xAlias -> alias a detallar
* : xTitulo -> titulo del informe
*Autor : Pedro David Ovando
*Empresa : Divesur SA
*----------------------------------------------------------------------------------------*
#DEFINE APPSHOW_WORDUS_LOC "appshow"
#DEFINE FILENEW_WORDUS_LOC "filenewdefault"
#DEFINE INSERT_WORDUS_LOC 'insert("Este es su gráfico!")'
#DEFINE EDITPASTESPECIAL_WORDUS_LOC "editpastespecial(,,,,'PICT')"
#DEFINE OBJECT_TYPE "OBJECT"
APPSHOW_WORDUS =APPSHOW_WORDUS_LOC
FILENEW_WORDUS =FILENEW_WORDUS_LOC
INSERT_WORDUS =INSERT_WORDUS_LOC
EDITPASTESPECIAL_WORDUS =EDITPASTESPECIAL_WORDUS_LOC
PUBLIC ObjWDdoc
wait wind "Creando hoja de cálculo de Excel...." nowait
xAliass = alias()
objXLsheet=CreateObject("Excel.Sheet")
objXLsheet.application.visible=.T.
IF UPPER(objXLsheet.Name)=OBJECT_TYPE
lHasExcel97 = .T.
objXLsheet = objXLsheet.Sheets[1]
ELSE
lHasExcel97 = .F.
ENDIF
Wait wind "Poniendo información de la consulta en la hoja de cálculo..." nowait
*** Titulo cabecera
objXLsheet.Cells(1,1).Value = xTitulo
xRango = "xRango = ASC('A')+"+"fcount('"+xAlias+"')"
&xRango
xRango = "A1:"+alltr(chr(xRango))+"1"
objXLsheet.RANGE(xRango).Merge
for c=1 to fcount(xAlias)
objXLsheet.Cells(2,c).Value = field(c)
xDato=FIELD(c)
xDato=&xDato
if type(field(c))='C'
objXLsheet.Columns(CHR(64+C)).ColumnWidth = LEN(xDato)
else
objXLsheet.Columns(CHR(64+C)).ColumnWidth = 15
endif
endfor
xRango = "xRango = ASC('A')+"+"fcount('"+xAlias+"')"
&xRango
xRango = "A2:"+alltr(chr(xRango))+"2"
objXLsheet.Range(xRango).Interior.Color = RGB(220,220,220) && RGB(192,192,192) && Light Gray
k=2
sele (xAlias)
do while !eof()
k=k+1
for c=1 to fcount(xAlias)
xDato=FIELD(c)
xDato=&xDato
if type('xDato')='C'
objXLsheet.Cells(k,c).Value = "'"+xDato
else
if type('xDato')='D'
objXLsheet.Cells(k,c).Value = "'"+dtoc(xDato)
else
objXLsheet.Cells(k,c).Value = xDato
Endif
Endif
Endfor
Skip
Enddo
if !empty(xAliass)
Se le (xAliass)
Endif
Messagebox('Proceso Concluido, guarde una copia de su hoja de Cálculo ANTES de presionar Aceptar', 55, xSistema)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas