如何使用C#.NET创建.odt文件?

注意:我发现这是“在C#.NET中创建Word文档” ,但这不是我想要的。

你知道如何创建一个.odt来从C#.NET创建文件吗?
是否有OpenOffice.org库的.NET组件或包装器来执行此操作?

看看AODL(参见http://odftoolkit.org/projects/odftoolkit/pages/AODL )。

  • 完全托管的.NET 1.1(因此它在MS.Net和Mono上运行)
  • 支持文本和电子表格文档
  • 创建,阅读,编辑,保存文档

由kame编辑:新链接AODL-Wiki

您可以查看OASIS标准网站 ,了解有关ODT标准的信息。 从我所看到的,他们使用的是基于XML的标准,并且有一个可用于文档标准的XSD,因此您可以将它与您自己的代码结合使用,以正确的格式构建文档文件。

您可能对OpenOffice,UNO CLI语言绑定感兴趣。

代码如下所示:

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(); 

OpenOffice文档(odt)是ZIP文件。 您可以解压缩现有的文件,通过代码修改content.xml文件,然后使用System.IO.Compression中的ZipFile类再次获取zip文件。