android读取assets中Excel表格并显示
2016-02-29 00:00
726 查看
本文实例为大家分享了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通过jxl读excel存入sqlite3数据库
- Android导入现有的数据库方法示例
- android实现raw文件夹导入数据库代码
- Android应用读取Excel文件的方法
- Android操作Excel文件的功能实现
- Android开发实现生成excel的方法详解
- Android开发实现读取excel数据并保存为xml的方法
- Android SQLite数据库增删改查操作的使用详解
- Android使用SQLite数据库的简单实例
- Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解
- Android开发实现的导出数据库到Excel表格功能【附源码下载】
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories