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

时间:2022-02-19 20:23:27

I'm trying to read the xlsx file from asset folder. I received below exception,

我正在尝试从资产文件夹中读取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

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

before this exception, I received some warnings also like,

在这个例外之前,我收到了一些警告,比如

  • Could not find method org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument$Factory.parse, referenced from method org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead

    找不到方法org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument $ Factory.parse,从方法org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead引用

  • VFY: unable to resolve exception class 3612 (Lorg/apache/xmlbeans/XmlException;)

    VFY:无法解决异常类3612(Lorg / apache / xmlbeans / XmlException;)

I have added poi 3.12 library on my application, libraries screenshot as below,

我在我的应用程序中添加了poi 3.12库,库截图如下,

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

And I have checked poi-3.12 and poi-ooxml-3.12 jar files in Order and Export, screenshot as below,

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

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

I used below code,

我使用下面的代码,

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

I want to read and write the .XLSX and .XLS files. How to resolve this issue?

我想读取和写入.XLSX和.XLS文件。如何解决这个问题?

Thanks in Advance.

提前致谢。

2 个解决方案

#1


4  

Firs you should connect to your project these jars.

你应该把这些罐子连接到你的项目。

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

Then use this code for reading

然后使用此代码进行阅读

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

    }

#2


0  

Updated your code to able to read and write the .XLSX and .XLS files

更新了您的代码,以便能够读取和写入.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() + "";

For your libraries, please have a look here android getting java lang verify error when using external java lib

对于你的库,请看看这里使用外部java lib时android获取java lang验证错误

#1


4  

Firs you should connect to your project these jars.

你应该把这些罐子连接到你的项目。

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

Then use this code for reading

然后使用此代码进行阅读

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

    }

#2


0  

Updated your code to able to read and write the .XLSX and .XLS files

更新了您的代码,以便能够读取和写入.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() + "";

For your libraries, please have a look here android getting java lang verify error when using external java lib

对于你的库,请看看这里使用外部java lib时android获取java lang验证错误