Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Leer archivos Excel

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Leer archivos Excel Responder citando

Necesito información de como leer archivos de planillas de calculo (excel), sus columnas tanto los formatos como los datos (para luego exportar a una base de datos).
Trabajo en C++ Builder 5.
Agradeceré rta.
Gracias.
Volver arriba
Mensaje    Asunto: Leer archivos Excel Responder citando

Aquí va un pequeño ejemplo que creo que te puede ser útil.

- Abre Excel y teclea números como ejemplo en las celdas C1, C2 y C3, en la C4 teclea =SUMA(C1:C3) déjalo abierto y añade un botón al Form y mete el siguiente código en el:

  // Debes añadir: #include <comobj.hpp>
  Variant oExcel, oHoja, oRango;
  // Busca alguna instancia de EXCEL abierta y selecciona la hoja activa
  oExcel = GetActiveOleObject( "Excel.Application" );
  oHoja = oExcel.OlePropertyGet( "ActiveSheet" );
  // -------- Lee una celda
  oRango = oHoja.OlePropertyGet( "Range", "C4" );
  // Lee el Valor
  ShowMessage( oRango.OlePropertyGet("Value") );
  // Lee Formula si la hay
  if ( oRango.OlePropertyGet("HasFormula") )
      ShowMessage( oRango.OlePropertyGet("Formula") );
  // Lee Formato/Mascara
  ShowMessage( oRango.OlePropertyGet("NumberFormat") );
  // --------
  oExcel = oHoja = oRango = Unassigned;

Si necesitas más información de como manejar Excel usando Automatización OLE busca por el foro que hay algunos ejemplos más.

Volver arriba
Mensaje    Asunto: Leer archivos Excel Responder citando

Leo, gracias!
Pero mi problema es que debo leer los archivos desde un ejecutable sin ejecutar visualmente el Excel.
Estuve probando con los componentes que provee el Builder 5, ExcelApplication y ExcelWorkbook, pero no puedo abrir los archivos porque me da un error de version al querer abrir un archivo, que detallo a continuación:

´this->Open(Filename, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Icid, (Excel_97::ExcelWorkbookPtr*)&RHS)´: Formato antiguo o tipo de biblioteca no válida.
@ C:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER5\INCLUDE\VCL\Excel_97.h/12531

Si alguien sabe como solucionar este problema agradezco su comentario.
Nota: tratando de arreglar este inconveniente, quité los componentes de Excel97, y trate de instalar el de Excel 8, para ver si era problema del componente, pero no puedo reinstalar el componente...

Volver arriba
Mensaje    Asunto: Leer archivos Excel Responder citando

Hola Nico:

Esos componentes que trae el Builder hacen exactamente lo mismo que el código que te he puesto, solo que el sistema que he puesto yo se llama "late binding" (enlace tardío) y el que usan esos componentes se llama "early binding" (enlace temprano).

La ventaja del Enlace Tardío es que no necesitas liarte con librerías ni tienes que enlazar al comenzar nada especial, la desventaja es que es ligeramente mas lento y mas complicado de entender/usar.

La ventaja del Enlace Temprano es que es mucho mas fácil trabajar, ya que trabajamos con ellos como una clase mas, la desventaja es que si tenemos que liarnos con enlazar las librerías correctas y demás líos si estamos pasando un proyecto de una versión a otra.

Yo te he puesto este ejemplo pensando que la parte que desconocías es precisamente la de leer las celdas, pero que ya sabias como abrir y cerrar Excel con este sistema, pero no es necesario que Excel se visualice ni este abierto para hacer el trabajo.

Pulsa aquí para que veas varias consultas sobre Excel con ejemplos un poco mas completos, solo fíjate en la línea que veas que pone "Visible" a true, cambiala a false o simplemente borrala.

Ya me contaras si te sirve de algo, o bien si me dices algún ejemplo mas concreto que te pueda preparar...

Saludos:
_Leo

Volver arriba
Mensaje    Asunto: Leer archivos Excel Responder citando

Gracias Leo!!!
Ya comienzo a mirar estos ejemplos y luego cualquier duda te comento...
Nuevamente gracias.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.