簡體   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