標籤:android 匯入 excel
由於項目需要,今天學習了一下如何將程式裡的資料添加到本地的Excel表中。
下面為學習筆記:
先上:
首先,需要匯入jxl.jar包到libs檔案夾內。
然後建立Excel表,並往表裡添加表頭。
// 建立excel表. public void createExcel(File file) { WritableSheet ws = null; try { if (!file.exists()) { // 建立表 wwb = Workbook.createWorkbook(file); // 建立表單,其中sheet表示該表格的名字,0表示第一個表格, ws = wwb.createSheet("sheet1", 0); // 在指定儲存格插入資料 Label lbl1 = new Label(0, 0, "姓名");// 第一個參數表示,0表示第一列,第二個參數表示行,同樣0表示第一行,第三個參數表示想要添加到儲存格裡的資料. Label bll2 = new Label(1, 0, "性別"); // 添加到指定表格裡. ws.addCell(lbl1); ws.addCell(bll2); // 從記憶體中寫入檔案中 wwb.write(); wwb.close(); } } catch (Exception e) { e.printStackTrace(); } }
然後當想往表裡添加資料時,應該:
public void writeToExcel(String name, String gender) { try { //每次插入資料,都要取原來的表,然後建立一個表,然後將原來的表的內容添加到新表上.但只要兩個路徑相同的話,效果相當於在原來的表添加. Workbook oldWwb = Workbook.getWorkbook(excelFile); wwb = Workbook.createWorkbook(excelFile, oldWwb); //擷取指定索引的表格 WritableSheet ws = wwb.getSheet(0); // 擷取該表格現有的行數 int row = ws.getRows(); Label lbl1 = new Label(0, row, name); Label bll2 = new Label(1, row, gender); ws.addCell(lbl1); ws.addCell(bll2); // 從記憶體中寫入檔案中,只能刷一次. wwb.write(); wwb.close(); } catch (Exception e) { e.printStackTrace(); } }
通過以上關鍵代碼,即可實現添加資料到本地Excel表中。
在寫入資料到Excel表中,每次都開啟原來檔案,並讀取資料,然後再建一個新表,將資料讀取到新表中。雖然如果連個檔案路徑,且檔案名稱一樣,則效果與直接往舊錶添加的效果是一樣的。但這裡考慮到效率的問題,總覺得這種添加資料的方法太過繁瑣,因此這裡還望大神指教。
本文Demo Android 添加資料到本地Excel表 Demo
本文參考了:
http://blog.csdn.net/super_level/article/details/7785506
Android 添加資料到本地Excel表中