国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 中讀取Excel文件實例詳解

2019-12-12 03:08:37
字體:
來源:轉載
供稿:網友

Android 中讀取Excel文件實例詳解

最近有個需求需要在app內置數據,新來的產品扔給了我兩個Excel表格就不管了(兩個表格格式還不統一。。。),于是通過度娘等方法找到了Android中讀取Excel表格文件的一種方法,記錄一下。

閑話一下Excel中工作簿和工作表的區別:

工作簿中包含有工作表。工作簿可以由一張或多張工作表組成,一個工作簿就是一個EXCEL表格文件。

好了,開始讀取表格文件吧。

前提

首先,我們假設需要讀取的表格文件名字為test.xls, 位于assets根目錄下。

所需Jar包

這里為了能讀取到Excel表格文件,我們要添加一個第三方Jar包jxl。

這里有點兒需要注意的地方:由于表格文件格式較多,老版本的jxl后只支持Excel2003版本的,所以如果拿到的表格文件格式是xlsm或者xlsn之類的,我們首先要把文件另存為xls格式。

開始讀取

1.初始化變量:

InputStream inputStream = null;//輸入流FileOutputStream outputStream = null;//輸出流 Workbook book = null;//Excel工作簿對象

2.以流的方式讀取我們內置在assets目錄下的表格文件

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

3.將上一步的輸入流讀取成一個文件,方便后續使用

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卡之類的話,步驟基本一致,都是首先得到我們的表格文件,然后得到工作簿對象,對其進行操作。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨江| 太仆寺旗| 垫江县| 武穴市| 长宁区| 万年县| 乐山市| 昔阳县| 阜新市| 镇平县| 西畴县| 个旧市| 双牌县| 博白县| 合江县| 湘阴县| 梨树县| 木兰县| 奉化市| 太仓市| 荣成市| 微博| 鞍山市| 英山县| 秭归县| 墨竹工卡县| 西乌珠穆沁旗| 潮州市| 黎平县| 巴中市| 定南县| 孙吴县| 新化县| 南康市| 汤原县| 海盐县| 莱西市| 县级市| 安福县| 临湘市| 三门县|