質問

注記:私はこれを見つけました 「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 規格については、「ODT 規格」を参照してください。私が見たところによると、彼らは XML ベースの標準を使用しており、ドキュメント標準に利用可能な XSD を持っているため、それを独自のコードと組み合わせて使用​​して、適切な形式でドキュメント ファイルを構築できます。

Spreadsheeetsを作成する方法を探しているときに昨日これを見つけました。ライターファイルの作成は非常によく似ています。 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帰属
所属していません StackOverflow
scroll top