2012-12-03 5 views
2

.NET 응용 프로그램에서 Apache POI를 사용하고 싶습니다. 포트 NPOI가 있지만 완전한 것이 아니며 PowerPoint 관련 기능이 없다는 것을 알고 있습니다.IKVM Apache POI 방법

나는 다음 명령을 사용하여 iKVM을 시도했다 :

ikvmc -target:library poi-3.8.jar poi-ooxml-3.8.jar poi-ooxml-schemas-3.8.jar poi-excelant-3.8.jar poi-scratchpad-3.8.jar 

을하지만 DLL을 결과의 클래스를 사용 후 내가 응용 프로그램을 실행 한 경우,이 오류를 가지고 :

The type initializer for 'org.apache.poi.xslf.usermodel.XMLSlideShow' threw an exception. 

누군가가 나를 IKVMed Apache POI를 다운로드 할 수있는 링크로 안내 할 수 있습니까? 인터넷 검색은 가능하지만 지금은별로 행운이 없습니다.

+0

Microsoft는 Mircorsoft Office 문서 작업에 .NET API를 제공하지 않습니까? – Puce

+0

예, 파워 포인트 데크 병합에 제공된 코드가 오류를 발생시킵니다. 아파치 POI에 전용 클래스가 있으므로 시도하고 싶습니다. – Ali

+0

Microsoft 지원부에 문의 했습니까? 그들은이 오류에 대해 무엇이라고 말합니까? – Puce

답변

3

IKVM을 사용하여 POI 3.9를 성공적으로 변환 한 프로젝트를 완료했습니다.

전제 조건 :

  • 다운로드 POI 3.9 및
  • 다운로드 iKVM을가

다음 명령을 (윈도우에서 실행 (I 버전 0.46.0.1 사용) 하나의 디렉토리에 모든 JAR 파일을 복사 모든 POI JAR이있는 같은 디렉토리에있는 7 개의 명령 줄)은 나를 위해 트릭을했습니다 :

ikvmc -target:library xmlbeans-2.3.0.jar 
ikvmc -target:library stax-api-1.0.1.jar 

ikvmc poi-ooxml-schemas-3.9-20121203.jar -target:library -reference:xmlbeans-2.3.0.dll -reference:stax-api-1.0.1.dll 


ikvmc -target:library log4j-1.2.13.jar 
ikvmc -target:library commons-logging-1.1.jar 
ikvmc -target:library commons-codec-1.5.jar 

ikvmc poi-3.9-20121203.jar -target:library -reference:log4j-1.2.13.dll -reference:commons-logging-1.1.dll -reference:commons-codec-1.5.dll 

ikvmc -target:library dom4j-1.6.1.jar 

ikvmc poi-ooxml-3.9-20121203.jar -target:library -reference:poi-3.9-20121203.dll -reference:poi-ooxml-schemas-3.9-20121203.dll -reference:dom4j-1.6.1.dll -reference:xmlbeans-2.3.0.dll 

희망이 도움이됩니다.