web-dev-qa-db-ja.com

java.lang.ClassNotFoundException:org.Apache.xmlbeans.XmlException

Apache POIを使用しているxlsxファイルを読み取るために、Zipをダウンロードし、次のjsrsをサーブレットの場所に配置しましたwebcontent/web-inf/libおよびEclipseを介して構成されたビルドパス

enter image description here

私のコードは次のようになります、

import org.Apache.poi.ss.usermodel.Cell;
import org.Apache.poi.ss.usermodel.Row;
import org.Apache.poi.xssf.usermodel.XSSFSheet;
import org.Apache.poi.xssf.usermodel.XSSFWorkbook;

File uploadedFile = new File(fpath, fileName);
item.write(uploadedFile);
String mimeType = (Files.probeContentType(uploadedFile.toPath())).toString();
System.out.println(mimeType);
if(mimeType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
{
FileInputStream file = new FileInputStream(uploadedFile);
    XSSFWorkbook workbook = new XSSFWorkbook(file);
    for (int i =0; i < workbook.getNumberOfSheets(); i++)
    {
       XSSFSheet sheet = workbook.getSheetAt(i);
       Iterator<Row> row = sheet.iterator();
       while(row.hasNext()) {
   Iterator<Cell> cellIterator = ((Row) row).cellIterator();
       while(cellIterator.hasNext()) {
       Cell cell1 = cellIterator.next();
       switch(cell1.getCellType()) 
         {
    case Cell.CELL_TYPE_BOOLEAN:
    System.out.print(cell1.getBooleanCellValue() + "\n");
    break;
    case Cell.CELL_TYPE_NUMERIC:
    System.out.print(cell1.getNumericCellValue() + "\n");
    break;
    case Cell.CELL_TYPE_STRING:
    System.out.print(cell1.getStringCellValue() + "\n");
    break;
    }
     }

これはEclipseでは表示されず、エラーではありませんが、コードを実行しようとすると次のエラーが表示されます

enter image description here

私の間違いは何ですか?これを解決するには?

14
user1733583

XML beans 依存関係をクラスパスに追加する必要があります。

ライブラリは通常xmlbeans-x.x.x.jarと呼ばれます

36
Mena

Xmlbeans-xpath.jarをライブラリに追加します。

4
Jay

最新のpoi-3.17バイナリをダウンロードしましたが、ダウンロードしたパッケージ自体にxmlbeans-x.x.x.jarが含まれています。

スクリーンショットFYRを添付。

Primary jars required for xlsxxmlbeans-x.x.x.jar under the folder ooxml-lib

4
mannedear