android读取assets中Excel表格并显示

本文实例为大家分享了android读取assets中Excel的具体代码,供大家参考,具体内容如下

1.在assets下放的excel表格,命名为excel.xls 2.添加读取excel需要的jar包”jxl.jar”,assets是建在main级别目录下,建错地方找不到文件

3.读取excel中的文件

/*获取excel表格中的数据不能在主线程中调用   xlsName 为表格的名称   index 表示第几张表格   */  public ArrayList<ExcelBean> getExcelData(String xlsName, int index) {    ArrayList<ExcelBean> list = new ArrayList<>();    //获取文件管理器    AssetManager manager = context.getAssets();    try {      Workbook workbook = Workbook.getWorkbook(manager.open(xlsName));      Sheet sheet = workbook.getSheet(index);      //表格一共有多少行      int sheetRows = sheet.getRows();      //将数据添加到集合中      for (int i = 0; i < sheetRows; i++) {        ExcelBean bean = new ExcelBean();        //获取列的数据        bean.setChinese(sheet.getCell(0, i).getContents());        bean.setEnglish(sheet.getCell(1, i).getContents());        bean.setSpell(sheet.getCell(2, i).getContents());        list.add(bean);      }      workbook.close();    } catch (Exception e) {      e.printStackTrace();    }    return list;  }

4.更新UI

public class ExcelDataAsyncTask extends AsyncTask<String, Void, ArrayList<ExcelBean>> {  private Context context;  private int index;  private ExcelData excelData;  public ExcelDataAsyncTask(Context context, int index, ExcelData excelData) {    this.context = context;    this.index = index;    this.excelData = excelData;  }  @Override  protected ArrayList<ExcelBean> doInBackground(String... params) {    return getExcelData(params[0], index);  }  @Override  protected void onPostExecute(ArrayList<ExcelBean> excelBeen) {    super.onPostExecute(excelBeen);    if (excelBeen != null && excelBeen.size() > 0) {//      ExcelAdapter adapter=new ExcelAdapter(excelBeen,context);//      lv.setAdapter(adapter);      excelData.getData(excelBeen);    }  }
/利用接口回调,更新UI  public interface ExcelData {    void getData(ArrayList<ExcelBean> list);  }

Java代码:

 new ExcelDataAsyncTask(ExcelSecondActivity.this, mp3Id, new ExcelDataAsyncTask.ExcelData() {      @Override      public void getData(final ArrayList<ExcelBean> list) {        ExcelAdapter adapter = new ExcelAdapter(list, ExcelSecondActivity.this);        lv.setAdapter(adapter);        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {          @Override          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {             }        });      }    }).execute("excel.xls");

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

学做任何事得按部就班,急不得

android读取assets中Excel表格并显示

相关文章:

你感兴趣的文章:

标签云: