2010-12-08 13 views
2

Open Officeのドキュメントとスプレッドシートの内容をC#で読む方法はありますか?OpenOfficeとC#

いくつかのガイダンスを教えてください。

答えて

1

Asposeソフトウェアコンポーネントは、Open Officeドキュメントをサポートしています。 See list and details here.試用版/評価版をダウンロードしてテストできます。

1

オープンなOfficeドキュメントのフォーマットは単純です。すべてのドキュメントはXMLファイルを含む単純なZipファイルです。 Xmlにはスキーマとデータが含まれており、読み込みは非常に簡単です。

単純にテキストを抽出したい場合は、それより簡単です。それ以外の場合は、System.Xml.Linqを使用してxmlファイルを読み取り、データを抽出できます。

テストするには、開いているオフィス文書を取り出し、something.zipという名前に変更してその内容を抽出して調べることができます。 ISharpZipライブラリを使用してC#で解凍し、Linqを使用してxmlを調べることができます。

2

を参照cli_bessatypes.dllcli_cppuhelper.dllcli_oootypesに追加.dllcli_uno.dll,cli_ure.dllおよびcli_uretypes.dll

XComponentContext oStrap = uno.util.Bootstrap.bootstrap(); 

XMultiServiceFactory oServMan = (XMultiServiceFactory)oStrap.getServiceManager(); 
XComponentLoader oLoader = (XComponentLoader)oServMan.createInstance("com.sun.star.frame.Desktop"); 

string fileName = "file:///" + filePath; 

PropertyValue[] propVals = new PropertyValue[1]; 
propVals[0] = new PropertyValue(); 
propVals[0].Name = "Hidden"; 
propVals[0].Value.setValue(typeof(Boolean), true); 
XComponent oXlsDocument = oLoader.loadComponentFromURL(fileName, "_default", 0, propVals); 

XSpreadsheets oXlsSpreadsheet = ((XSpreadsheetDocument)oXlsDocument).getSheets(); 
XIndexAccess oXlsSheetIA = (XIndexAccess)oXlsSpreadsheet; 
XSpreadsheet oXlsSheet = (XSpreadsheet)oXlsSheetIA.getByIndex(0).Value; 
:XLSファイルを読み込むための

コード

関連する問題