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");

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

时间: 2024-09-19 03:55:23

android读取assets中Excel表格并显示的相关文章

读取载密Excel表格中压缩源文件数据区

3.2检测算法在提取秘密表格时,读取载密Excel表格中压缩源文件数据区所有记录(以记录的开始标志04034B50作为参考),与压缩源文件目录区中记录作比对,在压缩源文件目录区添加缺少的源文件目录记录,修改源文件目录结束标志中相关信息,即可实现秘密表格在Excel表格中正常显示和打开使用.算法2具体描述如下:算法2通用表格信息检测算法输入载密Excel表格输出秘密表格Step1打开Excel表格,提取压缩源文件数据区和目录区所有记录. Step2在新Excel表格中,删除秘密表格在压缩源文件目录

Android读取assets目录下的所有图片并显示的方法_Android

本文实例讲述了Android读取assets目录下的所有图片并显示的方法.分享给大家供大家参考.具体方法分析如下: 在assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStrea

Android读取assets目录下的所有图片并显示的方法

本文实例讲述了Android读取assets目录下的所有图片并显示的方法.分享给大家供大家参考.具体方法分析如下: 在assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets() 来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStrea

Android 读取assets和raw文件内容实例代码_Android

android之文件操作--读取assets和raw文件下的内容 1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字为raw的文件夹)       2.创建两个txt文件,复制到asset和raw文件夹中: 3.实现的效果: 4.实现代码: (1)布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android

真机-android读取assets下的mp3文件的title、author、专辑图片等信息

问题描述 android读取assets下的mp3文件的title.author.专辑图片等信息 应该如何获取? 我用的方法是,先在sd卡上写一个mp3文件,再调用cursor来访问MediaStore.但问题是我是真机调试,可以看到手机中确实存在了这个文件,但uri读不到,直接电脑中打开也看不到这个文件,没有隐藏文件,也设置了读写权限.另一个问题是我担心这样做反复读写,跑起来会很慢.请问怎么解决 解决方案 试试在res建个raw把音乐放里面试试

android读取Assets图片资源保存到SD卡实例

本文为大家详细介绍下android读取Assets图片资源保存到SD卡的具体实现,感兴趣的各位可以参考下哈,希望对大家有所帮助   复制代码 代码如下: public class ReadBitmap { public void readByte(Context c, String name, int indexInt) { byte[] b = null; int[] intArrat = c.getResources().getIntArray(indexInt); try { AssetM

wps中excel表格固定某一行方法

  wps中excel表格固定某一行方法.现在用office办公软件的人很多,尤其是会计用wps中的excel很多,那么wps中的excel表格怎么固定某一行呢?来看看小编的介绍呗. 首先我们新建一个wps表格,里面填充一些数据. 然后假如你需要固定第一行,那么鼠标点击第一行左侧序号,将第一行全部选中. 之后在"开始"菜单下面找到"冻结窗格"选项,点击. 然后会发现"冻结窗格"按钮变成了"取消冻结",拉动滚动条发现第一行已经固

android在fragment中Toast.makeText不能显示

问题描述 android在fragment中Toast.makeText不能显示 android在fragment中Toast.makeText(getActivity(),"当前网络不可用",Toast.LENGTH_LONG);不显示 解决方案 Toast.makeText(getActivity(),"当前网络不可用",Toast.LENGTH_LONG);该为 Toast.makeText(getActivity(),"当前网络不可用",

android开发-Android读取Assets或者raw文件时会闪退

问题描述 Android读取Assets或者raw文件时会闪退 ObjectInputStream objectIn = null; try { Log.d(""1""this""); AssetManager assetManager = getAssets(); Log.d(""t1""this""); InputStream inputStream = assetManager.o