Ответ 1
Вы должны включить еще одну банку.
xmlbeans-2.3.0.jar
Добавьте это и попробуйте.
Примечание. Требуется только для файлов с форматами .xlsx, а не только для форматов .xls.
Я получаю следующую ошибку
Исключение в потоке "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject на OrderBook.WriteToExcelSheet.CreateOutPutFile(WriteToExcelSheet.java:20) на OrderBook.MainMethod.main(MainMethod.java:71)
Я искал причины этой ошибки в Интернете, но не мог найти, почему я ее получаю.
Я включил следующие файлы 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
Код:
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();
}
}
}
Вы должны включить еще одну банку.
xmlbeans-2.3.0.jar
Добавьте это и попробуйте.
Примечание. Требуется только для файлов с форматами .xlsx, а не только для форматов .xls.
При попытке перевести файл Excel с суффиксом .xlsx вам нужно добавить дополнительный jar, xmlbeansxxx.jar. xxxx - это версия, например xmlbeans-2.3.0.jar
вам нужно добавить еще два файла jar.
xmlbeans-2.3.0.jar и dom4j-1.6.1.jar Добавьте попробовать, он будет работать.
Примечание. Это требуется только для файлов с форматами .xlsx, а не только для форматов .xlt.
Для всего, что вы добавляете xmlbeans-2.3.0.jar, и он не работает, вы должны использовать HSSFWorkbook вместо XSSFWorkbook после добавления jar.For instance;
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();
}
Вам нужно включить xmlbeans-xxx.jar, и если вы загрузили двоичный ZIP файл POI, вы получите xmlbeans-xxx.jar в папке ooxml-lib (например:\poi-3.11\ooxml-lib)
Этот баннер используется для привязки XML, который применим для файлов .xlsx.