当前位置: 首页 > 知识库问答 >
问题:

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

毕衡
2023-03-14

我正在尝试从资产文件夹读取xlsx文件。我收到以下例外情况,

05-16 10:12:05.613:E/AndroidRuntime(2915):致命异常:main 05-16 10:12:05.613:E/AndroidRuntime(2915):java.lang.VerifyError:org/apache/poi/xssf/usermodel/xssfworkbook

在此异常之前,我还收到了一些警告,

VFY:无法解析异常类3612(log/apache/xmlbeans/xmlexception;)

我已经在我的应用程序上添加了POI3.12库,库的屏幕截图如下,

并且我已经检查了POI-3.12和POI-OOXML-3.12jar文件的顺序和导出,截图如下所示,

        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() + "";

提前道谢。

共有1个答案

唐兴思
2023-03-14

首先,您应该将这些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();
        }

    }
 类似资料:
  • 我得到了这个例外,但我不能理解那里发生了什么。 因为在编译时,我的类可以访问apache POI类,但在运行时,我的类抛出异常,他无法找到 。 如果你有什么建议,请分享。 我得到以下异常。 Manifest.MF如下

  • 我现在面临的问题是,我想导入一个excel文件并将其传递给另一个类,如下所示: 通过命令提示符编译并运行它没有问题,但当将原始文件链接粘贴到命令提示符并单击enter时,会出现以下错误: 仅供参考,当我在Eclipse上运行它时,这个问题永远不会出现。但当我尝试在命令提示符下运行时,它会给我这个错误。第16行实际上是这一行:

  • HSSF是POI项目的Excel'97(-2007)文件格式的纯Java实现。XSSF是POI项目对Excel2007OOXML(.xlsx)文件格式的纯Java实现。 使用HSSF时是否有出口限制?

  • 问题内容: 我制作了一个小型应用程序,可以从excel(xls文件)中读取内容并将其内容显示到JTable中。在eclipse中一切正常,但是当我创建jar文件并尝试运行它时,出现以下问题: 我发现奇怪的是,问题出在行上,当在行之前调用Workbook和Sheet时,它没有任何麻烦(至少从我的观察中可以看出)。 我已经研究了很多,主要似乎是jar文件不在Class-Path中,但是打开jar和清单

  • 我正在使用ApachePOI读取一些Excel文件。我创建了一个控制台应用程序来完成这项工作,之后我尝试将代码集成到SpringMVCwebapp中(我知道没什么特别的)。我已将相同的Jar文件包含到我的类路径中,但每当我尝试运行代码时,都会出现以下错误: 我相信类Font是在编译时找到的,但不是在运行时。我很确定问题不在于ClassPath,但是我不知道如何解决这个问题。 编辑:当我用main方