java - 如何解决 java.lang.VerifyError : org/apache/poi/xssf/usermodel/XSSFWorkbook?

标签 java android excel apache-poi xssf

我正在尝试从 Assets 文件夹中读取 xlsx 文件。我收到以下异常,

05-16 10:12:05.613: E/AndroidRuntime(2915): FATAL EXCEPTION: main 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 库,库截图如下,

enter image description here

并且我在Order and Export中检查了poi-3.12和poi-ooxml-3.12 jar文件,截图如下,

enter image description here

我使用了下面的代码,

        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 连接到您的项目。

jars you need

然后使用这段代码进行阅读

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();
        }

    }

关于java - 如何解决 java.lang.VerifyError : org/apache/poi/xssf/usermodel/XSSFWorkbook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30272103/

相关文章:

python - 使用 Pyautogui 实现 Excel 自动化

java - 如何在 Spring 中生成没有默认请求/响应后缀的 wsdl?

java - 从 Gradle 运行 PMD 任务时出现 NoClassDefFoundError

java - JPQL:以下使用继承的 WHERE 子句的问题

android - 在 TextView 中绘制底线,与 Android 中 EditText 中出现的底线完全相同

android - 升级到 Android Gradle Plugin 4.2.0-beta03 后出现新的 Gradle 错误

java - 我如何判断我的操作栏的标题是否会被截断?

java - 尝试在 Android Studio 中运行程序但出现错误,提示我的应用已停止工作

vba - Excel VBA 忽略我的 IF 语句退出子进程

excel - 为什么我不能将 Variant 作为查找值传递给 VBA VLookup?