Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Editar archivo ODS
#1

Buenas noches,
estoy con un proyectillo y necesitaría lo sieguiente:
- Dados unos datos que ya tengo registrados en una tabla de DB.
- Abrir una plantilla en formato .ods
- Hacer select de la tabla para recoger unos datos concretos
- Grabarlos en unas celdas concretas del archivo .ods
- Pasar ese archivo .ods a pdf.

Disculpald, necesitaría poder poner en este excel que un dato en concreto, o sea que la celda tuviese estilos subrayado, negrita, cursiva

Esto es posible ??

Saludos
    ¡Gracias!
#2

Cita:Esto es posible ??
Si

Pero en vez de usar .ods, usa fichero .fods que son fichero xml de texto plano y es mas sencillo meter datos, compatible con libreoffice.
    ¡Gracias!
#3

(08-10-2020, 20:41)jsbsan escribió:  
Cita:Esto es posible ??
Si

Pero en vez de usar .ods, usa fichero .fods que son fichero xml de texto plano y es mas sencillo meter datos, compatible con libreoffice.

Vale entonces entiendo que debo hacer una plantilla en formato .fobs y luego desde gambas poder abrirlo y manipularlo.
Hay algún ejemplo en el foro anterior, que sea conocido me refiero.
 Acabo de ver esto que me comentas, y creo que editar el XML no es tan trivial como parece, porque la idea es tener una plantilla y veo que para localizar los nodos, en otro lenguaje lo sabría montar pero con Gambas no se bien bien como se puede recorrer los nodos, qué librería hay para tal tarea?

Se pueden recorrer los nodos por nominativamente o es por indice?


Saludos y gracias.
    ¡Gracias!
#4

Hola Calcena, lo que te comenta Julio es correcto, el .fods es un XML que se puede recorrer y alterar con el componente gb.xml
En principio es posible hacer todo, cambiar el texto de una celda en particular y cambiar el estilo de la celda.
Pero el formato .fods tiene un inconveniente, es muy rebuscado para acceder a una celda no existe una forma fácil de hacerlo, o por lo menos no la conozco.
Por todo esto te recomiendo el formato .xml de gnumeric que es mas amigable y lógico podrías recorrer los nodos sabiendo la columna y la fila para alterar el contenido.
Luego lo podes convertir el archivo xml, en otro formato con el programa ssconvert que es muy eficiente y se instala cuando instalas gnumeric.
Nodo en .fods
XML
  1.     <table:table-row table:style-name="ro1" table:number-rows-repeated="5">
  2.      <table:table-cell table:number-columns-repeated="2"/>
  3.     </table:table-row>
  4.  
  5.     <table:table-row table:style-name="ro1">
  6.      <table:table-cell/>
  7.      <table:table-cell office:value-type="string" calcext:value-type="string">
  8.       <text:p>Texto 1</text:p>
  9.      </table:table-cell>
  10.     </table:table-row>



Nodo en .xml (de gnumeric)
XML
  1. <gnm:StyleRegion startCol="1" startRow="5" endCol="1" endRow="5">
  2.           <gnm:Style HAlign="GNM_HALIGN_GENERAL" VAlign="GNM_VALIGN_BOTTOM" WrapText="0" ShrinkToFit="0" Rotation="0" Shade="0" Indent="0" Locked="1" Hidden="0" Fore="0:0:0" Back="FFFF:FFFF:FFFF" PatternColor="0:0:0" Format="General">
  3.             <gnm:Font Unit="10" Bold="1" Italic="0" Underline="0" StrikeThrough="0" Script="0">Sans</gnm:Font>
  4.           </gnm:Style>
  5.         </gnm:StyleRegion>
  6. ...
  7.       <gnm:Cells>
  8.         <gnm:Cell Row="5" Col="1" ValueType="60">Texto 1</gnm:Cell>
  9.       </gnm:Cells>


Como podrás apreciar en el formato de gnumeric hay dos lineas a modificar, una con la información de texto y otras con la del formato, que es algo mas complicado que la de texto pero se puede navegar también con row + column.
[Imagen: vqy2ep6.png]
Saludos.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)