programing

XSSF Workbook - Java - POI .jar 해결 문제

goodsources 2023. 5. 31. 15:53
반응형

XSSF Workbook - Java - POI .jar 해결 문제

기존 POI 라이브러리보다 새로운 POI 라이브러리를 사용하여 .xlsx를 처리하도록 Java 애플리케이션을 업그레이드하려고 합니다.여기 답변에 대한 댓글에 언급된 것과 유사한 문제가 있습니다: Apache POI, XSSF와 HSSF를 모두 사용합니다.

저는 새로운 ss.user 모델을 가리키고 있지만 XSSF 워크북 선언을 해결할 수 없다고 계속 말하고 있습니다.

Workbook xlsImport = new XSSFWorkbook();

XSSF Workbook은 organ.apache.poi.ss.user 모델의 일부가 아닙니다.org.apache.poi.xssf.user 모델의 일부입니다.XSSF 워크북.하지만 제가 가져올 poi.xssf가 없습니다.제가 잘못된 것을 가리키고 있나요?POI 3.7을 사용하고 있습니다. 도움을 주셔서 감사합니다.

XSSF 라이브러리를 가져오려면 poi-ooxml 병을 포함해야 합니다.포이저에는 HSSF 라이브러리만 있습니다.

poi-ooxml 병을 포함해야 합니다.pom.xml 파일에 추가할 수 있습니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.10-FINAL</version>
</dependency>

먼저 적절한 jar 파일을 라이브러리 poi-ooxml-schemas-3.8-20120326.jar에 포함해야 합니다.http://poi.apache.org/download.html 에서 확인할 수 있습니다.그리고 당신은 당신의 자바 파일에 다음 링크를 추가해야 합니다.

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

메이븐 프로젝트를 만든 경우 pom.xml 파일의 종속성 아래를 사용합니다.

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
</dependency>

그렇지 않으면 Java 파일로 이 파일을 가져옵니다.

org.model.poi.ss.usermodel을 가져옵니다.워크북;

이전에 메이븐 종속성을 사용할 때 아래와 같은 오류가 발생했지만 다운로드한 바이너리 jar 파일, 즉 최신 버전의 poi의 "https://poi.apache.org/download.html "을 사용한 후에는 작동이 잘 됩니다.

Getting error saying : "IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was expected
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:303)
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:163)
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:133)
    at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:570)
    at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:723)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:302)
    at org.apache.poi.ooxml.util.PackageHelper.open(PackageHelper.java:37)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:307)
    at com.glide.platform_ml.regressionTests.classification.ExcelCallTest.readData(ExcelCallTest.java:40)
    at com.glide.platform_ml.regressionTests.classification.ExcelCallTest.main(ExcelCallTest.java:29)
"

https://stackoverflow.com/a/65141876/5886712

이전에 메이븐 종속성을 사용할 때 아래와 같은 오류가 발생했지만 다운로드한 바이너리 jar 파일, 즉 최신 버전의 poi의 "https://poi.apache.org/download.html "을 사용한 후에는 작동이 잘 됩니다.

Getting error saying : "IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was expected
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:303)
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:163)
    at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:133)
    at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:570)
    at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:723)
    at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:302)
    at org.apache.poi.ooxml.util.PackageHelper.open(PackageHelper.java:37)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:307)
    at com.glide.platform_ml.regressionTests.classification.ExcelCallTest.readData(ExcelCallTest.java:40)
    at com.glide.platform_ml.regressionTests.classification.ExcelCallTest.main(ExcelCallTest.java:29)
"

언급URL : https://stackoverflow.com/questions/5030892/issues-resolving-xssfworkbook-java-poi-jar

반응형