AndroidでExcelファイルを読み込む例の詳細

2215 ワード

AndroidでExcelファイルを読み込む例の詳細
最近需要があってappでデータを内蔵して、新しく来た制品は私に2つのExcelの表を投げて放っておいて(2つの表のフォーマットはまだ统一していません...)そこで度娘などの方法でAndroidでExcelテーブルファイルを読み取る方法を見つけて、記録しておきました.
Excelのワークブックとワークシートの違いを雑談します.
ワークブックにはワークシートが含まれています.ワークブックは、1つまたは複数のワークシートから構成され、1つのワークブックはEXCELテーブルファイルです.
さあ、表ファイルの読み取りを始めましょう.
前提条件
まず、読み込むテーブルファイルの名前をtestと仮定します.xls、assetsルートディレクトリの下にあります.
必要なJarバッグ
ここでは、Excelテーブルファイルを読み込むために、サードパーティ製Jarパッケージjxlを追加します.
ここで注意しなければならない点は、表ファイルのフォーマットが多いため、古いバージョンのjxlの後にExcel 2003バージョンしかサポートされていないので、手に入れた表ファイルのフォーマットがxlsmやxlsnなどであれば、まずファイルをxlsフォーマットとして保存します.
読み取り開始
1.変数の初期化:

InputStream inputStream = null;//   
FileOutputStream outputStream = null;//    
Workbook book = null;//Excel     

2.assetsディレクトリに組み込まれたテーブルファイルをストリームで読み込む

inputStream = context.getAssets().open("test.xls");

3.前のステップの入力フローを1つのファイルに読み込んで、後続の使用を便利にする

File tempFile = new File(context.getCacheDir(), "test.xls");//    ,          ,    
outputStream = new FileOutputStream(tempFile);
byte[] buf = new byte[1024];
int len;
while ((len = inputStream.read(buf)) > 0) {//while      
outputStream.write(buf, 0, len);
}
outputStream.close();
inputStream.close();

4.Excelファイルオブジェクトを取得すると、jxlパッケージで提供されている様々な方法でテーブルファイルを操作できます.jxlが提供する方法はたくさんありますが、ここではプロジェクトで使用したいくつかを簡単に紹介します.

book = Workbook .getWorkbook(tempFile);//                  (    ,          Excel     )
Sheet[] sheets = book.getSheets(); //        
for (int m = 0; m < sheets.length; m++) {
Sheet sheet = book.getSheet(m);
int Rows = sheet.getRows();//          
int Cols = sheet.getColumns(); //          
for (int i = 0; i < Cols; i++) {  //   :        !!!
for (int j = 0; j < Rows; j++) {
       String content=sheet.getCell(i, j).getContents();//   String   ,            
     }
  }
}

まとめ
テーブルファイルがassetsディレクトリに内蔵されている場合は、以上の手順で読めばよいが、sdカードなどであれば、手順はほぼ一致しており、まずテーブルファイルを入手し、ワークブックオブジェクトを取得して操作する.
読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!