我尝试在Android中使用POI库读取xlsx文件。有五个jar文件。其中3个是主要的休息依赖。如果我排除任何我得到的错误(类丢失)。
当我在我的项目中包含所有5个jar(示例空项目)时,它不会编译并且给出错误方法限制超过65536 dex可以拥有。我试过以下来解决这个问题:
启用项目程序
尝试创建多个dex文件,但由于依赖性问题,我无法将它们放在单独的dex文件中。
在项目属性中启用dex.force.jumbo = true但无效。
我正在尝试以下代码
public void getto()
{
int totalRows;
String destDir = Environment.getExternalStorageDirectory()+ "/Download/csv_contract_sample2.xlsx";
try {
System.out.println("destDir==> "+destDir);
XSSFWorkbook workBook = new XSSFWorkbook(destDir);
XSSFSheet sheet = workBook.getSheetAt(0);
totalRows = sheet.getPhysicalNumberOfRows();
System.out.println("total no of rows >>>>"+totalRows);
} catch (IOException e) {
e.printStackTrace();
}
}
如果我创建一个java项目,它的工作正常。但对于Android上面的问题是存在的。是否有一个很好的解决方案或任何其他xlsx读取库?
答案 0 :(得分:1)
xls是一个zip文件。因此,我们可以提取zip并获取内部的xml文件,然后我们可以自己解析它以获取工作表数据。
这对于xls和xlsx都适用。
答案 1 :(得分:-1)
甚至没有其他API可用于读取xlsx文件的POI。