繁体   English   中英

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

[英]How to create .odt files with C#.NET?

注意:我找到了“Creating a Word Doc in C#.NET” ,但这不是我想要的。

你知道如何创建一个.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 语言绑定感兴趣。

我昨天在寻找一种创建电子表格的方法时发现了这个,看起来创建编写器文件非常相似: 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 文件。 开放式办公室规范

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM