Jump to content


Photo

Como generar un archivo xls con delphi y Open office calc


  • Please log in to reply
10 replies to this topic

#1 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 06 January 2014 - 01:48 PM

Pues eso amigos, Resulta que debo generar un archivo xls desde delphi pero en un equipo que no cuenta con Excel y comprar o instalar excel no es opción por lo que consideré hacerlo con Calc de open ofice. ¿Alguien sabrá como hacerlo?

Saludos.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 06 January 2014 - 02:11 PM

Hola

Puedes darle una leída a ésta página:

http://www.openoffice.org/development/

Encontré éste foro a ver si ayuda:

http://www.oooforum....c.phtml?t=22344

Saludos
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 06 January 2014 - 02:18 PM

Y por ser año nuevo, ahorrandote la búsqueda de hilos con Delphi en el foro

http://www.oooforum....ml?mode=results

Saludos
  • 0

#4 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 06 January 2014 - 03:29 PM

Y por ser año nuevo, ahorrandote la búsqueda de hilos con Delphi en el foro

http://www.oooforum....ml?mode=results

Saludos


Gracais amigo, :) Ya les contaré el resultado
  • 0

#5 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 08 January 2014 - 03:31 AM

Yo tengo una unit para abrir y manipular hojas de calculo de excel, open office o libre office que permite "abstraerse" del programa instalado (hasta cierto punto) y que te puede servir porque "casi" hace lo que quieres.

Tienes el código aqui: https://github.com/s...hi-SpreadSheets

Si miras la funcion SaveAs, admite forzar el formato a .xls de excel97 por compatibilidad, en la parte de código que controla openoffice (o libreroffice, es igual desde código) se ve como se fuerza a usar un formato concreto, solo tendrías que averiguar cual es la forma de forzar el formato que buscas, sea el que sea:



delphi
  1.             IF bAsExcel97
  2.             THEN
  3.               vOoParams := VarArrayCreate([0, 1], varVariant)
  4.             ELSE
  5.               vOoParams := VarArrayCreate([0, 0], varVariant); //
  6.           //First one for prompting on overwrite (good idea!)
  7.             vOoParams[0] := ooCreateValue('Overwrite', false); //
  8.           //Optionally tell OpenOffie to use Excel97 .xls format
  9.             IF bAsExcel97 THEN
  10.               vOoParams[1] := ooCreateValue('FilterName', 'MS Excel 97'); //
  11.           //Do the save!
  12.             m_vDocument.StoreAsUrl(FileName2URL(strName), vOoParams);
  13.             m_strFileName := strName;



En lugar de 'MS Excel 97' tendrás que usar otro identificador de formato, esa es la información que necesitarías.

Aqui tienes info sobre el tema de los posibles formatos: https://forum.openof...php?f=20&t=7280 y aqui una lista de todos los formatos disponibles (supongo que los espacios se han sustituido por guiones bajos): http://cgit.freedesk...agments/filters

En tu caso supongo que necesitarías usar un filtername de 'MS Excel 2003 XML'
  • 0

#6 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 08 January 2014 - 08:59 AM

Yo tengo una unit para abrir y manipular hojas de calculo de excel, open office o libre office que permite "abstraerse" del programa instalado (hasta cierto punto) y que te puede servir porque "casi" hace lo que quieres.

Tienes el código aqui: https://github.com/s...hi-SpreadSheets


Gracias amigo, probaré la unidad y ya contaré como me fué.
  • 0

#7 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 29 January 2014 - 12:33 PM

Pues actualizando este asunto, les cuento que probé la unidad que amablemente me comentarion pero debido a que debía dar formato a algunas celdas y protger el documento decidí hacer una macro en Excel y ejecutarla desde una tarea programada con Visual Basic Script.

Pero quiero comentarles que la unidad compartida para controlar Open office es muy interesante y vale la pena darle una revisada.
  • 0

#8 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 30 January 2014 - 08:08 AM

Pero quiero comentarles que la unidad compartida para controlar Open office es muy interesante y vale la pena darle una revisada.


:cheesy: gracias  :cheesy:
  • 0

#9 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 30 January 2014 - 08:47 AM


Pero quiero comentarles que la unidad compartida para controlar Open office es muy interesante y vale la pena darle una revisada.


:cheesy: gracias  :cheesy:


¿Tu la desarrollaste amigo?  :o  :o  :o
  • 0

#10 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 04 February 2014 - 03:26 AM

Si, es mia. En mi trabajo tenemos una aplicación para laboratorios que hacen ensayos a materiales, y la aplicación, aparte de presupuestos, facturas y esas cosas de gestión, te hace los informes de resultados, y muchas veces estos documentos o sus cálculos me vienen definidos por una hoja de cálculo existente que se quiere conservar (normalmente usan el formato interno de la aplicación, que para estos temas de resultados de ensayos tiene muchas ventajas respecto de excel).

Por eso me tocó buscar una manera (hace ya 10 o 12 años de eso) de controlar excel desde delphi con OLE / DCOM o como le llames, luego se usó también para volcar listados, etc. Luego apareció OpenOffice y decidimos estudiarnos el tema y hacer todo el sistema dual, para no forzar a nadie a comprar/piratear office... y bueno, como muchos preguntaban como hacer este tipo de cosas lo puse en GitHub.

También tengo otra, mucho menos completa, para Word/Writer, esa es interna porque la verdad no merece casi la pena, es casi leer documentos y luego imprimirlos.

También por esto tengo experiencia en pasar cosas a PDF y en temas de firmas digitales, porque esos informes de resultados, al final, se convierten a PDF (aunque tenemos nuestro propio formato gráfico para informes de ensayos) y se envian firmados digitalmente al cliente.

Llevo desde el 1994 con esta aplicación como mi trabajo principal, y todo esto (casi todo esto) antes lo hacíamos en ms-dos, así que soy zorro viejo en estos temas!
  • 0

#11 linch

linch

    Member

  • Miembros
  • PipPip
  • 12 posts

Posted 25 July 2016 - 07:23 AM

Gracias. Otra pregunta para abrir y manejar archivos word desde delphi que libreria o componente puedo utilizar


  • 0




IP.Board spam blocked by CleanTalk.