我正在尝试从 asset 文件夹中读取 xlsx 文件。我收到以下异常,
05-16 10:12:05.613:E/AndroidRuntime(2915):致命异常:主要
05-16 10:12:05.613:E / AndroidRuntime(2915):java.lang.VerifyError:org / apache / poi / xssf / usermodel / XSSFWorkbook
在此异常之前,我还收到了一些警告,
Could not find method
org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument$Factory.parse,
referenced from method
org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead
VFY: unable to resolve exception class 3612
(Lorg/apache/xmlbeans/XmlException;)
我在我的应用程序中添加了 poi 3.12 库,库截图如下,
我在Order和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 文件。如何解决这个问题?
提前致谢。
首先,您应该将这些罐子连接到您的项目。
然后使用此代码进行阅读
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();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)