PDA

Ver la Versión Completa : Duda sobre Excel


VRO
06-09-2004, 17:38:48
Hola, ¿Que hay?, vereis he leído muchos hilos sobre como exportar datos en Delphi a una hoja en Excel, y hablais de varios métodos interesantes, pero me he liado, ya no se si es mejor hacerlo desde la paleta Server de Delphi 6 ó con una conexión ADO ó con un OLE ó añadiendo el componente GenExport.

Quisiera saber cual es más eficaz y más sencillo ó el problema ó diferencia de cada uno.

Tambien tengo otro problema en caso de tener que añadir un componente, tengo el sistema operativo Windows 98, en que carpeta le tendría que instalar????.

Se que estaís cansados ya de hablar del tema de exportación de datos Delphi a Excel, pero de verdad que es muy importante que alguien me ayude a colocar y aclarar el batiburrillo que tengo en la cabeza.

Ante todo muchas gracias.

Neftali [Germán.Estévez]
07-09-2004, 11:57:02
Así resumiendo mucho, sería algo como esto:
En principio la única diferencia entre usar un componente como GenExport o similares que existen es que lo hagas tú o lo haga el componente, pero las formas son las mismas.

Para trabajar con excel hay dos posibilidades o trabajar con un fichero nativo de excel (1) o crear un fichero que excel pueda abrir y reconocer (2), como por ejemplo un CSV (texto separado por comas).

(2) Para crear un fichero CSV puedes hacerlo de la forma estandard, utilizando Write, writeLn o con un TStrings y volcando a fichero con un SaveToFile; Pero ten presente que es un fichero de texto (no excel), sólo que Excel (por las asociaciones de extensiones que instala en el sistema) lo abre automáticamente.
(1) Para grabar en un fichero de Excel de forma nativa, es decir grabando en un XLS se puede hacer de dos formas, por ADO (a) y por automatización (b)(desconozco di existe algún componente que escriba en formato nativo excel y que no lo haga de una de éstas formas, aunque me extrañaría).

(a) Para hacerlo por ADO la idea es que trabajas con las celdas de EXcel como si fueran los registros de una tabla; Filas y columnas vienen a ser registros y campos.
(b) Por automatización lo que haces es abrir el Excel y trabajar con él, pero mediante código, así que trabajas a nivel de celdas; Puedes cambiar formatos, escribir,... bueno todo lo que harías si trabajaras normalmente con el Excel.

NOTA: Si sólo quieres escribir datos te servirán la (a) y la (b), si quieres algo más avanzado, como generar una hoja para presentar datos o informes que incluya otras cosas deberás utilizar la (b)

NOTA2: Me da la impresión que la paleta SERVERS de Delphi hace el camino de la opción (b); Ésto es una apreciación/sospecha así que aquí tal vez me deba corregir alguien.

Un saludo.

__cadetill
07-09-2004, 12:06:53
NOTA2: Me da la impresión que la paleta SERVERS de Delphi hace el camino de la opción (b); Ésto es una apreciación/sospecha así que aquí tal vez me deba corregir alguien.
La apreciación/sospecha es correcta ;)

VRO
07-09-2004, 12:24:12
Muchísimas gracias, me ha aclarado la pedazo duda que tenía, lo que yo quiero es trabajar con un fichero nativo de Excel, ya he comenzado ha hacerlo utilizando el palette Server y de momento me va muy bien.

Gracias ;)