android读取assets中Excel表格并显示
程序员文章站
2023-12-19 22:58:40
本文实例为大家分享了android读取assets中excel的具体代码,供大家参考,具体内容如下
1.在assets下放的excel表格,命名为excel.xls...
本文实例为大家分享了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从资源文件中读取文件流并显示的方法
-
Android读取assets目录下的所有图片并显示的方法
-
android从资源文件中读取文件流并显示的方法
-
ajax读取txt文本中的json并显示在html页面表格上
-
10_Android中通过HttpUrlConnection访问网络,Handler和多线程使用,读取网络html代码并显示在界面上,ScrollView组件的使用_html/css_WEB-ITnose
-
Python读取Excel中符合特定条件的数据,并写入新的表格中
-
Python读取excel表格中的网址并批量打开网页
-
Android读取assets目录下的所有图片并显示的方法
-
ajax读取txt文本中的json并显示在html页面表格上