Campo Memo

Hola.
Nuevamente Solicito tu ayuda.
Estoy exportando los campos de una tabla a Excel pero los de tipo Memo no se visualizan. Los campos memo que tengo son grandes puesto que son observaciones de desempeño.
¿Qué puedo hacer para traerlos al momento de exportar los campos de la tabla?
De antemano agradezco tu colaboración.

1 Respuesta

Respuesta
1
No se el método que estas usando pero si en lugar de usar export to, utilizas la interface puedes colocar algo como esto:
oHoja=CREATEOBJECT("Excel.application")  &&creas la hoja
oHoja.Workbooks.Add()
l=l+1    && L es un contador de lineas
oHoja.Rows(l).Insert
oHoja.Columns("A:A").ColumnWidth=40.00
oHoja.Columns("A:A").WrapText=.T.
La columna A de tu hoja de calculo le colocas una longitud de 40 y haces que el texto encaje en la columna cuando cargues el detalle
SELECT(miarchivo")
SCAN
l=l+1
oHoja.Rows(l).cells(1,1).VALUE=cm_notas   && este es un campo memo
ENDSCAN
oHoja.Visible = .T.
Hola Gracias Por Tu respuesta. La estructura que estoy utilizando es la siguiente (más reducida por supuesto):
SELECT TABLA.campo1 AS alias1, TABLA.campo2 AS alias2, TABLA.campo3 AS alias3, TABLA.campo4 AS alias4 ;     && los campos 3 y 4 son los de tipo memo

FROM TABLA INTO CURSOR total
nomarch_sug = "Nombre Archivo"
DO WHILE .T.
      nombre_arch = PUTFILE("Archivo Exportar Todo:", escritorio()+nomarch_sug, "XLS")
      IF EMPTY(nombre_arch)
          resp = MESSAGEBOX("No ha especificado nombre de Archivo.",308,"Validación")
          IF resp = 6
              EXIT
          ELSE
              LOOP
          ENDIF
      ELSE
         EXIT
      ENDIF
ENDDO
IF .NOT. EMPTY(nombre_arch)
     COPY TO (nombre_arch) TYPE XL5
    WAIT WINDOW "Finalizado correctamente." NOWAIT
ENDIF
La tabla contiene muchos campos (64) de los cuales 8 son Memo. La estructura funciona bien, exporta todo el contenido a Excel excepto los memos. ¿En qué parte exactamente debería incluir la estructura que me estas enviando? Es que intenté complementar la estructura que yo tengo pero generó errore.
Gracias de antemano por tu ayuda.
Simplemente lees la tabla si crear cursor alguno, el programa genera la hoja excel y cuando termina la muestra, luego el usuario si desea le da el nombre si la pc es lenta el programa va a demorar en generar la hoja
STORE 0 TO L
oHoja=CREATEOBJECT("Excel.application") 
oHoja.Workbooks.Add()
l=l+1  
oHoja.Rows(l).Insert
oHoja.Columns("C:C").ColumnWidth=40.00
oHoja.Columns("C:C").WrapText=.T.
oHoja.Columns("D:D").ColumnWidth=40.00
oHoja.Columns("D:D").WrapText=.T.
SELECT("tabla")
SCAN
l=l+1
oHoja.Rows(l).cells(1,1).VALUE=campo1  
oHoja.Rows(l).cells(1,2).VALUE=campo2
oHoja.Rows(l).cells(1,3).VALUE=campo3
oHoja.Rows(l).cells(1,4).VALUE=campo4
ENDSCAN
oHoja.Visible = .T.
Prueba a ver que sucede

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas