java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject Error
我得到了以下错误
线程"main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject中出现异常。 在OrderBook.WriteToExcelSheet.CreateOutPutFile(WriteToExcelSheet.java:20) at 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();
}
}
}
39
3
你必须再加入一个罐子。
添加这个,然后试试。
注意:只对.xlsx格式的文件有要求,而不是只对.xls格式的文件。
当试图翻译后缀为.xlsx的Excel文件时,你需要添加额外的jar,xmlbeansxxx.jar。xxxx是版本,如
xmlbeans-2.3.0.jar
。对于所有你添加了xmlbeans-2.3.0.jar而不能工作的情况,你必须在添加jar后使用HSSFWorkbook而不是XSSFWorkbook,例如;