您好,登錄后才能下訂單哦!
本文實例為大家分享了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");
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。