2010-12-08 4 views
2

Open Office 문서 및 스프레드 시트의 내용을 C#을 사용하여 읽는 방법이 있습니까?OpenOffice 및 C#

몇 가지 안내를주세요.

답변

1

Aspose 소프트웨어 구성 요소에는 Open Office 문서가 일부 지원됩니다. See list and details here. 테스트 할 평가판/평가판 구성 요소를 다운로드 할 수 있습니다.

1

오픈 오피스 문서 형식은 간단합니다. 모든 문서는 XML 파일이 포함 된 단순한 Zip 파일입니다. Xml에는 스키마와 데이터가 포함되어 있으며 읽기는 매우 간단합니다.

단지 텍스트를 추출하고 싶다면 System.Xml.Linq을 사용하여 xml 파일을 읽어 데이터를 추출 할 수 있습니다.

테스트하려면 열려있는 Office 문서를 가져 와서 이름을 something.zip으로 바꾸고 그 내용을 추출하고 연구 할 수 있습니다. ISharpZip 라이브러리를 사용하여 C#에서 압축을 풀고 Linq를 사용하여 xml을 연구 할 수 있습니다.

2

는 참조 cli_bessatypes.dll, cli_cppuhelper.dll, cli_oootypes에 추가 .dll, cli_uno.dll, cli_ure.dllcli_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 파일을 읽을 수

관련 문제