本文实例为大家分享了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;}@Overrideprotected ArrayList<ExcelBean> doInBackground(String... params) {return getExcelData(params[0], index);}@Overrideprotected 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);}}
/利用接口回调,更新UIpublic interface ExcelData {void getData(ArrayList<ExcelBean> list);}
Java代码:
new ExcelDataAsyncTask(ExcelSecondActivity.this, mp3Id, new ExcelDataAsyncTask.ExcelData() {@Overridepublic void getData(final ArrayList<ExcelBean> list) {ExcelAdapter adapter = new ExcelAdapter(list, ExcelSecondActivity.this);lv.setAdapter(adapter);lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) { }});}}).execute("excel.xls");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。