android读取excel文件第三方类库都有哪些

 我来答
huanglenzhi
2016-04-10 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  目前应用比较多的处理Excel的类库主要有两种JXL 和POI。
  都是开源项目,POI是apache下的子项目,经过研究和比较觉得POI更新更快一些。
  到目前为止已经支持Excel2007版本了,不过目前也是3.5的beta4版以上才支持。JXL貌似还不行,但是个人觉得在使用上JXL简单一些。
  另外JXL还有一个小问题需要注意一下在读取Excel文件是单次读不可以超过10000行,否则会溢出。经过试验9999可以,10000就不行了,不知道jxl为什么要控制在这个数。
  因此如果兄弟们需要单次读取大数据量的时候需要手工处理下,分次读取就可以了。
  因此建议处理EXCEL97-2003时可选用JXL,处理2007版本可选择POI,

  各种用法四处都有这里只贴上JXL读取Excel97-03和POI读取Excel2007的代码:

  public List<FSNInfo> readExcel07(String filepath) throws IOException{
  List<Info> fsnList = new ArrayList<Info>(10);
  //取得excel
  XSSFWorkbook xwb = new XSSFWorkbook(filepath);
  //取得Excel的第一个sheet;
  XSSFSheet sheet = xwb.getSheetAt(0);
  XSSFRow row;
  //遍历sheet的所有行,前两个单元格,设置为Info的属性,放入ArrayList返回
  for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
  Info fsn;
  row = sheet.getRow(i);
  fsn.set1(row.getCell(0).toString());
  fsn.set2(row.getCell(1).toString());
  fsnList.add(fsn);
  }
  return fsnList;
  }

  
  public List<Info> readExcelSubRecord(int start,int len) {
  if(wb == null)
  return null;
  List<Info> list = new ArrayList<Info>(10);
  try {
  Workbook book = wb;
  Sheet se = book.getSheet(0);
  int rownum = start+len;
  for (int i = start; i < rownum; i++) {
  
  Info fsn;
  fsn.set1(se.getCell(0, i).getContents());
  fsn.set2(se.getCell(1, i).getContents());
  list.add(fsn);
  }
  book.close();
  } catch (Exception e) {
  logger.error("Parse excel97-2003 error: "+e);
  return null;
  }
  return list;
  }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式