编程语言
首页 > 编程语言> > Java 读取Excel表格数据(使用工具:AndroidStudio )

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

作者:互联网

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表格数据截图:

————————————————
版权声明:本文为CSDN博主「uana_777」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/uana_777/article/details/80626958

标签:Java,表格,Excel,Cell,AndroidStudio,user,getCell,sheet
来源: https://blog.csdn.net/ruoyu1660/article/details/116704127