如何解决java.lang.VerifyError:org / apache / poi / xssf / usermodel / XSSFWorkbook?
我正在尝试从资源文件夹中读取xlsx文件。 我收到下面的例外,
05-16 10:12:05.613 E / AndroidRuntime(2915):致命exception:主05-16 10:12:05.613:E / AndroidRuntime(2915):java.lang.VerifyError:org / apache / poi / xssf /的usermodel / XSSFWorkbook
在这个例外之前,我也收到了一些警告,
-
无法find方法org.openxmlformats.schemas.spreadsheet.xml.x2006.main.WorkbookDocument $ Factory.parse,从方法org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead
-
VFY:无法parsingexception类3612(Lorg / apache / xmlbeans / XmlException;)
我已经在我的应用程序中添加了poi 3.12库,库截图如下,
我已经在Order and Export中检查了poi-3.12和poi-ooxml-3.12 jar文件,截图如下,
我用下面的代码,
InputStream is = context.getAssets().open("sample.xlsx")); XSSFWorkbook workbook = new XSSFWorkbook(is); XSSFSheet sheet = workbook.getSheetAt(0); Cell cell = sheet.getRow(0).getCell(0); String value = cell.getStringCellValue() + "";
我想读取和写入.XLSX和.XLS文件。 如何解决这个问题?
提前致谢。
冷杉你应该连接到你的项目这些jar子。
然后使用这个代码来阅读
public static void readXLSXFile() throws IOException { InputStream ExcelFileToRead = new FileInputStream("C:/Test.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead); XSSFWorkbook test = new XSSFWorkbook(); XSSFSheet sheet = wb.getSheetAt(0); XSSFRow row; XSSFCell cell; Iterator rows = sheet.rowIterator(); while (rows.hasNext()) { row=(XSSFRow) rows.next(); Iterator cells = row.cellIterator(); while (cells.hasNext()) { cell=(XSSFCell) cells.next(); if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) { System.out.print(cell.getStringCellValue()+" "); } else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) { System.out.print(cell.getNumericCellValue()+" "); } else { //U Can Handel Boolean, Formula, Errors } } System.out.println(); } }
更新了您的代码,以便能够读取和写入.XLSX和.XLS文件
InputStream is = context.getAssets().open("sample.xlsx")); Workbook workbook = WorkbookFactory.create(is); Sheet sheet = workbook.getSheetAt(0); Cell cell = sheet.getRow(0).getCell(0); String value = cell.getStringCellValue() + "";
对于你的图书馆,请在这里看看android获取java langvalidation错误,当使用外部Java库