android 는 assets 의 Excel 표를 읽 고 표시 합 니 다.

3329 단어 androidassetsExcel
본 논문 의 사례 는 안 드 로 이 드 가 assets 에서 Excel 을 읽 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1.assets 아래 에 놓 인 엑셀 표 는 엑셀 xls 라 고 명명 합 니 다.
2.엑셀 읽 기 에 필요 한 jar 패키지'jxl.jar'를 추가 합 니 다.assets 는 main 단계 디 렉 터 리 에 세 워 져 있 습 니 다.잘못된 곳 에서 파일 을 찾 을 수 없습니다. 
 
3.엑셀 의 파일 읽 기

/*  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");
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기