xssfworkbook xmlobject xbean usermodel poi org listvaluedmap commons collections4 java

java - xmlobject - xbean jar



java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject Error (6)

Estoy recibiendo un error de seguimiento

Excepción en el hilo "principal" java.lang.NoClassDefFoundError: org / apache / xmlbeans / XmlObject en OrderBook.WriteToExcelSheet.CreateOutPutFile (WriteToExcelSheet.java:20) en OrderBook.MainMethod.main (MainMethod.java:71)

Busqué las razones de este error en línea pero no pude encontrar por qué lo estoy obteniendo.

He incluido los siguientes archivos jar

poi-3.9-20121203.jar, poi-excelant-3.9-20121203.jar, poi-examples-3.9-20121203.jar, poi-ooxml-3.9-20121203.jar, poi-ooxml-schemas-3.9-20121203.jar, poi-scratchpad-3.9-20121203.jar

Código:

public class WriteToExcelSheet { public static Map < Integer, Object[] > data = new TreeMap < Integer, Object[] > (); public static void CreateOutPutFile() { XSSFWorkbook workbook = new XSSFWorkbook(); XSSFSheet sheet = workbook.createSheet("Orderbook Stats"); //This data needs to be written (Object[]) //Iterate over data and write to sheet Set < Integer > keyset = data.keySet() int rownum = 0; for (Integer key: keyset) { Row row = sheet.createRow(rownum++); Object[] objArr = data.get(key); int cellnum = 0; for (Object obj: objArr) { Cell cell = row.createCell(cellnum++); if (obj instanceof String) cell.setCellValue((String) obj); else if (obj instanceof Integer) cell.setCellValue((Integer) obj); } } try { //Write the workbook in file system System.out.println("OutPutStats.xlsx writing.............................."); FileOutputStream out = new FileOutputStream(new File("FileLocation/o.xlxs")); workbook.write(out); out.close(); System.out.println("OutPutStats.xlsx written successfully on disk."); } catch (Exception e) { e.printStackTrace(); } } }


Al tratar de traducir el archivo Excel con el sufijo .xlsx, debe agregar un jar adicional, xmlbeansxxx.jar. xxxx es una versión, como xmlbeans-2.3.0.jar


Debe incluir xmlbeans-xxx.jar y si ha descargado el archivo binario ZIP de POI, obtendrá el archivo xmlbeans-xxx.jar en la carpeta ooxml-lib (por ejemplo: / poi-3.11 / ooxml-lib)

Este jar se usa para el enlace XML que es aplicable para archivos .xlsx.


Enfrenté una situación similar, por lo que reemplacé todos los archivos jar externos ( poi-bin-3.17-20170915 ) y me aseguré de agregar otros archivos jar presentes en las carpetas lib y ooxml-lib .

¡¡¡Espero que esto ayude!!!:)


Para todo lo que agrega xmlbeans-2.3.0.jar y no funciona, debe usar HSSFWorkbook en lugar de XSSFWorkbook después de agregar jar.Por ejemplo;

Workbook workbook = new HSSFWorkbook(); Sheet listSheet = workbook.createSheet("Kişi Listesi"); int rowIndex = 0; for (KayitParam kp : kayitList) { Row row = listSheet.createRow(rowIndex++); int cellIndex = 0; row.createCell(cellIndex++).setCellValue(kp.getAd()); row.createCell(cellIndex++).setCellValue(kp.getSoyad()); row.createCell(cellIndex++).setCellValue(kp.getEposta()); row.createCell(cellIndex++).setCellValue(kp.getCinsiyet()); row.createCell(cellIndex++).setCellValue(kp.getDogumtarihi()); row.createCell(cellIndex++).setCellValue(kp.getTahsil()); } try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); workbook.write(baos); AMedia amedia = new AMedia("Kisiler.xls", "xls", "application/file", baos.toByteArray()); Filedownload.save(amedia); baos.close(); } catch (Exception e) { e.printStackTrace(); }


Tienes que incluir un frasco más

xmlbeans-2.3.0.jar

Agrega esto y prueba.

Nota: Se requiere para los archivos con formatos .xlsx solamente, no solo para formatos .xls.


tienes que incluir dos archivos jar más.

xmlbeans-2.3.0.jar y dom4j-1.6.1.jar Agregar intento, funcionará.

Nota: Se requiere para los archivos con formatos .xlsx solamente, no solo para formatos .xlt.