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

本文关键字:odt 文件 创建 NET 何使用 | 更新日期: 2023-09-27 17:48:49

注意:我发现了"在C#中创建Word文档",但这不是我想要的

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

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

查看AODL(请参阅http://odftoolkit.org/projects/odftoolkit/pages/AODL)。

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

kame编辑:新建链接AODL Wiki

您可以查看OASIS Standards网站以获取有关ODT标准的信息。据我所见,他们使用的是基于XML的标准,并且有一个可用于文档标准的XSD,所以您可以将其与自己的代码结合使用,以构建正确格式的文档文件。

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

我昨天在寻找创建Spreadsheets的方法时发现了这个,看起来创建编写器文件非常相似:http://www.suite101.com/content/creating-an-openoffice-calc-document-with-c-a124112,不要忘记先从Oracle安装Open Office SDK。

不幸的是,我还没有找到一种在不打开文件的情况下创建文件的方法。

代码如下所示:

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文件。开放式办公规范