注意:我在Stack Overflow上找到了一个名为“Creating a Word Doc in C#.NET”的帖子,但那不是我想要的。
您知道如何从C# .NET创建.odt文件吗?
是否有一个OpenOffice.org库的.NET组件或包装器可以实现这一点?
注意:我在Stack Overflow上找到了一个名为“Creating a Word Doc in C#.NET”的帖子,但那不是我想要的。
您知道如何从C# .NET创建.odt文件吗?
是否有一个OpenOffice.org库的.NET组件或包装器可以实现这一点?
编辑者kame: 新链接 AODL-Wiki
我昨天在寻找创建电子表格的方法时发现了这个链接,看起来创建写作文件相当类似: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文件。Open Office规范