calcena   08-10-2020, 20:25
#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
Última modificación: 08-10-2020, 21:22 por calcena.
jsbsan   08-10-2020, 20:41
#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.
calcena   08-10-2020, 21:23
#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.
Última modificación: 08-10-2020, 22:03 por calcena.
tincho   08-10-2020, 23:15
#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
Código:
    <table:table-row table:style-name="ro1" table:number-rows-repeated="5">
     <table:table-cell table:number-columns-repeated="2"/>
    </table:table-row>

    <table:table-row table:style-name="ro1">
     <table:table-cell/>
     <table:table-cell office:value-type="string" calcext:value-type="string">
      <text:p>Texto 1</text:p>
     </table:table-cell>
    </table:table-row>

Nodo en .xml (de gnumeric)
Código:
<gnm:StyleRegion startCol="1" startRow="5" endCol="1" endRow="5">
          <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">
            <gnm:Font Unit="10" Bold="1" Italic="0" Underline="0" StrikeThrough="0" Script="0">Sans</gnm:Font>
          </gnm:Style>
        </gnm:StyleRegion>
...
      <gnm:Cells>
        <gnm:Cell Row="5" Col="1" ValueType="60">Texto 1</gnm:Cell>
      </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.

1 Saludo.
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.