本文实例为大家分享了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
# Android加载Assets目录中Xml布局文件
# Android复制assets文件到SD卡
# Android实现复制Assets文件到SD卡
# 详解vue2.0 资源文件assets和static的区别
# iOS开发之AssetsLibrary框架使用详解
# Android studio 添加assets文件夹的方法
# 详解Vue-cli中的静态资源管理(src/assets和static/的区别)
# vue2.0 资源文件assets和static的区别详解
# Android开发实现读取Assets下文件及文件写入存储卡的方法
# Android获取其他应用中的assets资源
# 找不到
# 能在
# 管理器
# 几张
# 大家分享
# 命名为
# 回调
# 具体内容
# 大家多多
# 建在
# 错地方
# 目录下
# getExcelData
# gt
# int
# String
# public
# view
# index
# ExcelBean
相关文章:
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何挑选优质建站一级代理提升网站排名?
Python多线程使用规范_线程安全解析【教程】
焦点电影公司作品,电影焦点结局是什么?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何快速搭建高效WAP手机网站吸引移动用户?
建站主机选购指南与交易推荐:核心配置解析
TestNG的testng.xml配置文件怎么写
已有域名能否直接搭建网站?
在线制作视频网站免费,都有哪些好的动漫网站?
jQuery 常见小例汇总
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在建站之星网店版论坛获取技术支持?
如何挑选最适合建站的高性能VPS主机?
建站之星后台管理如何实现高效配置?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何使用Golang table-driven基准测试_多组数据测量函数效率
企业微网站怎么做,公司网站和公众号有什么区别?
制作网站外包平台,自动化接单网站有哪些?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
建站主机选购指南:核心配置优化与品牌推荐方案
如何快速生成凡客建站的专业级图册?
如何通过.red域名打造高辨识度品牌网站?
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何通过VPS建站实现广告与增值服务盈利?
如何在阿里云虚拟主机上快速搭建个人网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
建站主机默认首页配置指南:核心功能与访问路径优化
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何快速生成高效建站系统源代码?
如何通过智能用户系统一键生成高效建站方案?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
如何用wdcp快速搭建高效网站?
如何用免费手机建站系统零基础打造专业网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
宝塔面板创建网站无法访问?如何快速排查修复?
如何通过VPS搭建网站快速盈利?
山东网站制作公司有哪些,山东大源集团官网?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
存储型VPS适合搭建中小型网站吗?
,购物网站怎么盈利呢?
如何在VPS电脑上快速搭建网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何选择PHP开源工具快速搭建网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
代购小票制作网站有哪些,购物小票的简要说明?
高防服务器如何保障网站安全无虞?
建站之星如何配置系统实现高效建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。