Android 添加数据到本地Excel表中

来源:互联网 发布:nginx 多个别名 编辑:程序博客网 时间:2024/06/10 01:45

由于项目需要,今天学习了一下如何将程序里的数据添加到本地的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

1 0
原创粉丝点击