Pregunta

Nota: encontré este " Creación de un documento de Word en C #. NET " , pero eso no es lo que quiero.

¿Sabe cómo crear un .odt para crear un archivo desde C # .NET?
¿Hay un componente o envoltorio .NET para que una biblioteca de OpenOffice.org haga esto?

¿Fue útil?

Solución

Eche un vistazo a AODL (consulte http://odftoolkit.org/projects/odftoolkit/ páginas / AODL ).

  • .NET 1.1 totalmente administrado (por lo que se ejecuta en MS.Net y Mono)
  • soporte para documentos de texto y hojas de cálculo
  • crear, leer, editar, guardar documentos
  • ...

EDITAR por kame: Nuevo enlace Wiki de AODL

Otros consejos

Puede consultar el sitio de estándares de OASIS para obtener información sobre El estándar ODT. Por lo que he visto, están utilizando un estándar basado en XML y tienen un XSD disponible para el estándar de documento, por lo que podría usarlo junto con su propio código para crear un archivo de documento en el formato adecuado.

Encontré este ayer cuando buscaba una forma de crear Spreadsheeets, parece que la creación de archivos de escritura es bastante similar: http://www.suite101.com/content / creating-an-openoffice-calc-document-with-c-a124112 , no olvide instalar primero el Open Office SDK de Oracle.

Lamentablemente, no he encontrado una forma de crear un archivo sin abrirlo todavía.

El código se vería así:

private XComponentContext oStrap = uno.util.Bootstrap.bootstrap();
XMultiServiceFactory oServMan = (XmultiServiceFactory) oStrap.getServiceManager();
XComponentLoader oDesk = (XComponentLoader) oServMan.createInstance("com.sun.star.frame.Desktop");
string url = @"private:factory/swriter";
PropertyValue[] propVals = new PropertyValue[0];
XComponent oDoc = oDesk.loadComponentFromURL(url, "_blank", 0, propVals);
string docText = "File Content\n\r";
((XTextDocument)oDoc).getText().setString(docText);
string fileName = @"C:\FolderName\FileName.odt";
fileName = "file:///" + fileName.Replace(@"\", "/");
((XStorable)oDoc).storeAsURL(fileName, propVals);
((Xcomponent)oDoc).dispose();

Los documentos de OpenOffice (odt) son archivos ZIP. Puede descomprimir uno existente, modificar el archivo content.xml por código y luego usar la clase ZipFile de System.IO.Compression, por ejemplo, para obtener un archivo zip nuevamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top