<div dir="ltr">Muchisimas gracias  los dos.<div><br></div><div>Ahora tengo otro par de caminos que seguir.</div><div><br></div><div>La solucion de oscar me parece  más sencilla. Porq eu de momento con buscar y sustituir cadenas me sera suficiente.</div><div><br></div><div><br></div><div>Un saludo.</div><div>Javier</div></div><div class="gmail_extra"><br><div class="gmail_quote">El 1 de junio de 2015, 19:30, Óscar Martínez <span dir="ltr">&lt;<a href="mailto:masquesig@gmail.com" target="_blank">masquesig@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Buenas,<br>
<br>
Te explico un pequeño intento que he realizado, no se si te valdrá esta<br>
forma.<br>
<br>
Ha sido utilizando la librería jOpenDocument. Me he descargado, el .jar<br>
de la web: <a href="http://www.jopendocument.org/downloads.html" target="_blank">http://www.jopendocument.org/downloads.html</a><br>
<br>
Aquí es donde alguno me podrá corregir y se puede importar el jar (no<br>
recuerdo ahora la forma perfecta de hacerlo el import, ya se mirará pero<br>
mientras esto funciona). Pero he descomprimido el jar en la carpeta:<br>
C:\Users\Oscar\gvSIG\plugins\org.gvsig.scripting.app.extension\lib<br>
dejandolo de nombre /joo/ y dentro todo el contenido del jar.<br>
<br>
Ahora nos vamos a Jython y podemos realizar un import joo que nos<br>
importará todo el contenido de la carpeta, permitiendonos trabajar con<br>
jopendocument. La Api la podemos encontrar en<br>
<a href="http://www.jopendocument.org/docs/" target="_blank">http://www.jopendocument.org/docs/</a><br>
<br>
Adaptando el código a Jython de los ejemplos sobre Modificar una<br>
SpreadSheet <a href="http://www.jopendocument.org/start_spreadsheet_2.html" target="_blank">http://www.jopendocument.org/start_spreadsheet_2.html</a><br>
<br>
nos queda algo así:<br>
<br>
from gvsig import *<br>
from org.jopendocument.model import OpenDocument<br>
import joo<br>
from <a href="http://java.io" target="_blank">java.io</a> import File<br>
from org.jopendocument.dom.spreadsheet import SpreadSheet<br>
from java.util import Date<br>
from org.jopendocument.dom import OOUtils<br>
<br>
def main(*args):<br>
     file = File(r&quot;C:/jOO/invoice.ods&quot;)<br>
     sheet = SpreadSheet.createFromFile(file).getSheet(0)<br>
<br>
     sheet.getCellAt(&quot;I10&quot;).setValue(Date())<br>
<br>
     sheet.setValueAt(&quot;Filling test&quot;, 1, 1)<br>
     sheet.getCellAt(&quot;B27&quot;).setValue(&quot;On site support&quot;)<br>
<br>
     sheet.getCellAt(&quot;F24&quot;).setValue(301)<br>
<br>
     sheet.getSpreadSheet().getTableModel(&quot;Products&quot;).setValueAt(1, 5, 4)<br>
<br>
     outputFile = File(&quot;C:/jOO/fillingTest1.ods&quot;)<br>
     OOUtils.open(sheet.getSpreadSheet().saveAs(outputFile))<br>
<br>
<br>
Esto nos permite modificar las celdas que queramos sobre una existente.<br>
  Los ficheros de ejemplo los he descargado de Templates<br>
<a href="http://www.jopendocument.org/downloads.html" target="_blank">http://www.jopendocument.org/downloads.html</a><br>
y situado en la carpeta C:/jOO , esto lo podrás modificar en el código<br>
anterior por supuesto.<br>
<br>
Me he fijado que al modificarlo se abre el sheet pero los valores de<br>
formulas no están actualizadas, hay que presionar MAYUS+CONTROL+F9 para<br>
recalcular. Grabas y listo.<br>
<br>
Este caso es para celdas, pero también hay más ejemplos en la web.<br>
<br>
Por ejemplo, si después utilizamos el siguiente script, podremos<br>
visualizar la plantilla en gvSIG en un visor<br>
<br>
<br>
from gvsig import *<br>
import joo<br>
from joo.org.jopendocument import model<br>
from org.jopendocument.model import OpenDocument<br>
from org.jopendocument.print import DefaultDocumentPrinter<br>
from org.jopendocument.panel import ODSViewerPanel<br>
from javax.swing import JFrame<br>
<br>
def main(*args):<br>
     doc = OpenDocument()<br>
     doc.loadFrom(r&quot;C:/jOO/invoice.ods&quot;)<br>
<br>
<br>
     mainFrame = JFrame(&quot;Viewer&quot;)<br>
     printer = DefaultDocumentPrinter()<br>
<br>
     viewerPanel = ODSViewerPanel(doc, printer, True)<br>
<br>
     mainFrame.setContentPane(viewerPanel)<br>
     mainFrame.pack()<br>
     mainFrame.setLocation(10, 10)<br>
     mainFrame.setVisible(True)<br>
<br>
Espero que te sirva de ayuda, ya nos comentas si te vale como solución o<br>
si por lo que sea debes de utilizar otra librería<br>
<br>
Un saludo,<br>
Óscar Martínez<br>
<div class="HOEnZb"><div class="h5"><br>
El 01/06/2015 a las 12:33, César Martínez Izquierdo escribió:<br>
&gt; Hola Javier,<br>
&gt;<br>
&gt; Nunca he usado nada parecido, pero se me ocurre una posible causa:<br>
&gt; aunque el lenguaje de scripting de gvSIG es Python, está basado en<br>
&gt; Jython (Python ejecutándose sobre Java), así que probablemente no<br>
&gt; debas importar las librerías de Python de OpenOffice sino las de Java.<br>
&gt;<br>
&gt; Para ello seguramente tendrás que añadir algunos jars al classpath de<br>
&gt; inicio de gvSIG (o meterlos de alguna forma como un plugin de gvSIG),<br>
&gt; y usar la API de Java de OpenOffice (aunque la llames desde Python, ya<br>
&gt; que desde el scripting de gvSIG se puede invocar a cualquier método de<br>
&gt; Java).<br>
&gt;<br>
&gt; Te digo todo esto sin conocer las interioridades de OpenOffice ni del<br>
&gt; funcionamiento de Jython. Creo que puedes empezar por buscar<br>
&gt; documentación sobre cómo usar OpenOffice desde Jython, esto te pondrá<br>
&gt; en la buena dirección.<br>
&gt;<br>
&gt; Si al final tienes éxito no te olvides de contar por aquí cómo lo conseguiste.<br>
&gt;<br>
&gt; Saludos,<br>
&gt;<br>
&gt; César<br>
&gt;<br>
&gt; 2015-06-01 12:13 GMT+02:00 Javier Galán &lt;<a href="mailto:javiergalans@gmail.com">javiergalans@gmail.com</a>&gt;:<br>
&gt;&gt; Hola a todos:<br>
&gt;&gt;<br>
&gt;&gt; Estoy intentando hacer informes a partir de consultas y datos que tengo<br>
&gt;&gt; cargados en gvSIG.<br>
&gt;&gt;<br>
&gt;&gt; Para ella quería utilizar una plantilla en OO y poder modificarla en función<br>
&gt;&gt; de los datos y consultas.<br>
&gt;&gt;<br>
&gt;&gt; Para ello desde el modulo de scripting estoy intentando importar las clases.<br>
&gt;&gt;<br>
&gt;&gt; Pero &quot;import uno&quot;  me retorna que no existe<br>
&gt;&gt;<br>
&gt;&gt; He añadido la ruta al path de librerías<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; import sys<br>
&gt;&gt; sys.path.append(&#39;C:\Program Files (x86)\OpenOffice 4\program&#39;) ##ruta donde<br>
&gt;&gt; esta instalado OO y está la libreria uno.py<br>
&gt;&gt;<br>
&gt;&gt; pero tambien acabadando error<br>
&gt;&gt;<br>
&gt;&gt; He copiado la librería al lib de gvsig, a ver si así la leía y me da el<br>
&gt;&gt; siguiente error:<br>
&gt;&gt;<br>
&gt;&gt; import uno<br>
&gt;&gt; Traceback (most recent call last):<br>
&gt;&gt;    File &quot;&lt;input&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt;&gt;    File<br>
&gt;&gt; &quot;C:\Users\PC-VALCAT17\gvSIG\plugins\org.gvsig.scripting.app.extension\lib\uno.py&quot;,<br>
&gt;&gt; line 1, in &lt;module&gt;<br>
&gt;&gt;      from com.sun.star.uno import UnoRuntime, AnyConverter<br>
&gt;&gt; ImportError: No module named star.<br>
&gt;&gt;<br>
&gt;&gt; Alguien ha intentado algo parecido? Me podría guiar un poco?<br>
&gt;&gt;<br>
&gt;&gt; Muchas gracias.<br>
&gt;&gt; Javier<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; gvSIG_usuarios mailing list<br>
&gt;&gt; <a href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a><br>
&gt;&gt;<br>
&gt;&gt; Para ver histórico de mensajes, editar sus preferencias de usuario o darse<br>
&gt;&gt; de baja en esta lista, acuda a la siguiente dirección:<br>
&gt;&gt;<br>
&gt;&gt; <a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
gvSIG_usuarios mailing list<br>
<a href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a><br>
<br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:<br>
<br>
<a href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios" target="_blank">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a><br>
</div></div></blockquote></div><br></div>