Java 读取Excel表格数据(使用工具:AndroidStudio )

版权声明:本文为博主原创文章,未经博主允许不得转载。    https://blog.csdn.net/uana_777/article/details/80626958
Part One 前情提要
本文是使用AndroidStudio来编写代码,来实现对Excel表格中的数据读取。

实际工作开发中我们可能需要从Excel表格中读取数据,以实现实际需求。比如:

1.将Excel表格中的数据导入数据库中(可能不是完全按照表格中的现有数据格式) 
2.将Excel表格中的数据读出来,进行一些操作只后,再写回Excel表格中 
3.单纯的读取数据 
… …

总会有那么一天可能你也要和Excel打打交道,所以现在如果你有时间可以先来学习一下,了解一下。充实一下自己。

注:突然需要是用Excel,主要也是因为最近公司计划玩一玩大数据。所以这几天需要使用Excel造一些假数据(因为老板们不熟悉数据库,我总不能给他们一人一个sql吧),所以也算是没有办法,只能把数据填写到Excel中了。

Part Two 主角登场
操作步骤: 
1.下载读取Excel需要引用的jar包

下载jar包:jxl.jar,点击下载jxl.jar

2.下载好需要的jar包以后,接下来我们使用AndroidStudio创建一个Project。创建好了以后,我们下载下来的jar包添加到项目中。 
添加结果如下: 


3.接下来就是使用这个jar中的工具类来进行,Excel表格的操作了。

对Excel表格操作主要使用到jar中的3个类 
jxl.Workbook Excel文件类实体

代码示例: 
// “data_table.xls” 相对路径或者绝对路径均可以 
Workbook book = Workbook.getWorkbook(new File(“data_table.xls”)); 
// “data_table.xls” android项目中assets目录中 文件名 
Workbook book = Workbook.getWorkbook(assetManager.open(“data_table.xls”));

jxl.Sheet 表格类

代码示例: 
//获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,….) 
Sheet sheet = book.getSheet(0);

jxl.Cell 单元格类

代码示例: 
// 获取第0行第0列的一个单元格(表格左上角第一个单元格) 
Cell cell = sheet.getCell(0, 0); //(列,行)

4.Workbook类 方法

创建一个Excel文件 
createWorkbook()
获取(打开)一个Excel文件 
getWorkbook()
查某一个或所有Sheet 
getSheets(int index) // 根据索引 得到一个Sheet 
getSheets(String sheetName) // 根据Sheet名称 得到一个Sheet 
getSheets() // 所有Sheet
查找一个Cell 
findCellByName(String name) 
getCell(String name)
获取符合条件的Cell,包装成了一个Range类型了 
Range[] findByName(String name)
其他操作
5.Sheet类 方法

获取某一个Cell
获取某一列的所有Cell
获取某一行的所有Cell
获取符合条件的所有Cell
获取某一个CellView,CellView 用来控制单元格的格式
6.Cell类 方法

getRow 所在行 
getColumn 所在列 
getType Cell类型 
isHidden 是否被隐藏 
getContents 获取内容 
getCellFormat 获取单元格格式 
getCellFeatures 获取单元格特征

Part Three 示例代码
代码中的User的属性字段就是表格中的titles 
Activity 中:AssetManager assetManager = getAssets();

    // 读取用户表
    public List<User> getUserFromSheet() {

        List<User> users = new ArrayList<>();

        int i;
        Workbook book;
        Sheet sheet;
        Cell U_ID, U_NAME, U_NICK_NAME, U_AGE, U_SEX, U_PHONE_NUM, U_EMAIL, U_PHONE_TYPE, SHOPPING_HISTORY_ID;

        try {
            //hello.xls为要读取的excel文件名  
            book = Workbook.getWorkbook(assetManager.open("data_table.xls"));

            //获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)  
            sheet = book.getSheet(0);
            //获取左上角的单元格  
            U_ID = sheet.getCell(0, 0);

            i = 1;
            while (i < 102) {

                //获取每一行的单元格   
                U_ID = sheet.getCell(0, i);//(列,行)
                U_NAME = sheet.getCell(1, i);
                U_NICK_NAME = sheet.getCell(2, i);
                U_AGE = sheet.getCell(3, i);
                U_SEX = sheet.getCell(4, i);
                U_PHONE_NUM = sheet.getCell(5, i);
                U_EMAIL = sheet.getCell(6, i);
                U_PHONE_TYPE = sheet.getCell(7, i);
                SHOPPING_HISTORY_ID = sheet.getCell(8, i);

                User user = new User();
                user.setU_ID(Integer.parseInt(U_ID.getContents()));
                user.setU_NAME(U_NAME.getContents());
                user.setU_NICK_NAME(U_NICK_NAME.getContents());
                user.setU_AGE(Integer.parseInt(U_AGE.getContents()));
                user.setU_SEX(U_SEX.getContents());
                user.setU_PHONE_NUM(U_PHONE_NUM.getContents());
                user.setU_EMAIL(U_EMAIL.getContents());
                user.setU_PHONE_TYPE(U_PHONE_TYPE.getContents());
                user.setSHOPPING_HISTORY_ID(Integer.parseInt(SHOPPING_HISTORY_ID.getContents()));

                users.add(user);
                i++;
            }
            book.close();
        } catch (Exception e) {
        }

        return users;
    }

Excel表格数据截图: 

--------------------- 
作者:uana_777 
来源:CSDN 
原文:https://blog.csdn.net/uana_777/article/details/80626958 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/leansmall/article/details/84573749
今日推荐