`
rfheh
  • 浏览: 14375 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java读取EXCEL表格~学习笔记

阅读更多
Java Excel API提供了许多访问Excel数据表的方法
Workbook类提供的方法
1. int getNumberOfSheets()
获得工作薄(Workbook)中工作表(Sheet)的个数,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
int sheets = rwb.getNumberOfSheets();
2. Sheet[] getSheets()
返回工作薄(Workbook)中工作表(Sheet)对象数组,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
Sheet[] sheets = rwb.getSheets();

Sheet接口提供的方法
1. String getName()
获取Sheet的名称,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
String sheetName = rs.getName();
2. int getColumns()
获取Sheet表中所包含的总列数,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
3. Cell[] getColumn(int column)
获取某一列的所有单元格,返回的是单元格对象数组,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getColumn(0);
4. int getRows()
获取Sheet表中所包含的总行数,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsRows = rs.getRows();
5. Cell[] getRow(int row)
获取某一行的所有单元格,返回的是单元格对象数组,示例子:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getRow(0);
6. Cell getCell(int column, int row)
获取指定单元格的对象引用,需要注意的是它的两个参数,第一个是列数,第二个是行数,这与通常的行、列组



我想
Cell[] getColumn(int column)
获取某一列的所有单元格,返回的是单元格对象数组,


1.package *****; 
2. 
3.import java.io.File; 
4.import java.io.IOException; 
5.import java.util.ArrayList; 
6.import java.util.List; 
7. 
8.import jxl.Cell; 
9.import jxl.Sheet; 
10.import jxl.Workbook; 
11.import jxl.read.biff.BiffException; 
12. 
13./**
14. * Title:读取EXCEL工具扩展类
15. * Description:
16. * Copyright:Copyright (c) 2009
17. * Company:******
18. * @author ****
19. * @version 1.0
20. */ 
21.public class ExcelUtil { 
22. 
23.    /**
24.     * 传递excel文件对象读取文件方法
25.     * @param file
26.     *          excel文件对象
27.     * @return
28.     *          返回List<String[][]>
29.     * @throws BiffException
30.     * @throws IOException
31.     */ 
32.    public List<String[][]> read(File file) throws BiffException, IOException{ 
33.//      创建方法返回List集合对象 
34.        List<String[][]> contents = new ArrayList<String[][]>(); 
35.//      创建excel文件的工作簿对象book 
36.        Workbook book = Workbook.getWorkbook(file); 
37.//      获取excel文件工作簿的工作表数量sheets 
38.        Sheet[] sheets = book.getSheets(); 
39.//      声明每个工作表存储的二维数组对象 
40.        String[][] row_contents = null; 
41.//      逐个工作表开始读取 
42.        for(int sheet_index=0;sheet_index<sheets.length;sheet_index++) { 
43.//          测试语句 
44.            System.out.println("当前为"+sheet_index+"个工作簿!"); 
45.//          创建工作表对象sheet 
46.            Sheet sheet = sheets[sheet_index]; 
47.//          获取excel当前工作表的总行数 
48.            int rows = sheet.getRows(); 
49. 
50.//          获取excel当前工作表的总列数 
51.            int columns = sheet.getColumns(); 
52.//          测试语句 
53.            System.out.println("当前工作簿一共有"+rows+"行、"+columns+"列"); 
54.//          创建当前工作表的存储二维数组 
55.            row_contents = new String[rows][columns]; 
56.//          循环将当前工作簿内容保存到对象中 
57.//          循环行 
58.            for(int row_index=0;row_index<rows;row_index++) { 
59.//              循环列 
60.                String[] column_contents = new String[columns]; 
61.                for(int column_index=0;column_index<columns;column_index++) { 
62.//                  获取当前工作表.row_index,column_index单元格的cell对象 
63.                    Cell cell = sheet.getCell(column_index,row_index); 
64.//                  获取内容值 
65.                    column_contents[column_index] = cell.getContents(); 
66.                } 
67.//              当前sheet,当前row的所有column,存放到row_contents二维数组的row_index位置 
68.                row_contents[row_index] = column_contents; 
69.            } 
70.            /**
71.             * 读取测试输出代码片
72.             */ 
73.            //----------------------------------------------------------------------- 
74.            for(int j=0;j<row_contents.length;j++) { 
75.                for(int k=0;k<row_contents[j].length;k++){ 
76.                    System.out.print(row_contents[j][k]+"\t"); 
77.                } 
78.                System.out.println(); 
79.            } 
80.            System.out.println("---------------------"); 
81.            //----------------------------------------------------------------------- 
82.//          集合收集数据 
83.            contents.add(row_contents); 
84.        } 
85.//      返回 
86.        return contents; 
87.    } 
88.} 
  • jxl.jar (706.1 KB)
  • 下载次数: 59
分享到:
评论
1 楼 贝塔ZQ 2016-09-29  
java实现读取excel表格中数据,之前用过PageOffice,记得很容易就能实现,推荐需要的可以试试,集成起来很方便的。

相关推荐

    jspm心理健康系统演示录像2021.zip

    所有源码都有经过测试,可以运行,放心下载~

    【BP分类】基于matlab阿基米德算法优化BP神经网络AOA-BP故障识别数据分类【Matlab仿真 4975期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【故障诊断】基于matlab减法平均算法优化双向时间卷积神经网络SABO-BiTCN轴承数据故障诊断【Matlab仿真 5085期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之温湿度传感器DHT11.zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2540/CC2541上运行,如果是其他型号芯片,请自行调整。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。

    【故障诊断】基于matlab麻雀搜索算法优化双向时间卷积神经网络SSA-BiTCN轴承数据故障诊断【Matlab仿真 5095期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【故障诊断】基于matlab蜣螂算法优化双向时间卷积神经网络DBO-BiTCN轴承数据故障诊断【Matlab仿真 5098期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    深度神经网络学习.docx

    深度神经网络学习, 深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一个总结。

    麻雀搜索算法优化时间卷积双向门控循环单元融合注意力机制SSA-TCN-BiGRU-Attention光伏数据回归预测【Matlab仿真 5388期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【BP分类】基于matlab花朵授粉算法优化BP神经网络FPA-BP故障识别数据分类【Matlab仿真 4997期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于java的大嘴团网上商城网站源代码(完整前后端+mysql+说明文档+LW).zip

    零食购物网站主要就是基于BS架构模式开发的网站,分为前台的零食展示和后台的管理员的管理,用户的购买信息管理等,以下是零食网站的主要功能: (1) 系统管理员权限: ① 管理员信息管理:管理员主要可以新增修改管理员信息,主要对密码进行修改。 ② 注册用户管理:实现了对注册用户基本信息的管理,可以对用户进行审核。 ③ 零食类别信息:实现了对零食的类别的基本信息的管理。 ④ 零食信息管理:管理了零食的基本信息的情况,并能上传零食图片等。 ⑤ 订单信息管理:针对购买的零食的订单信息进行管理查看。 ⑥ 用户结账管理:实现了用户购买零食的结账信息的查看和管理。 ⑦ 系统信息管理:主要是对系统的基本信息情况进行管理,以及管理了系统的公告,留言管理等信息。 (2) 注册用户: ① 用户信息管理:注册用户在个人的后台,可以对个人的基本信息和资料进行修改。 ② 我的购物车:查看个人购买零食的购物车信息。 ③ 我的结账信息:针对购买的零食结账的信息进行管理。 ④ 退订信息管理:对零食进行退订申请,并查看申请结果和退订情况。 (3) 网站前台: ① 零食信息展示:以列表的形式展示了网站销售...

    AIX (IBM):AIX系统安装与配置.docx

    AIX (IBM):AIX系统安装与配置.docx

    【轨迹规划】基于matlab RRT四旋翼无人机安全且最小能量的轨迹规划【含Matlab源码 9871期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【BP分类】基于matlab开普勒算法优化BP神经网络KOA-BP故障识别数据分类【Matlab仿真 5005期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    Amanda:Amanda数据结构与算法教程.docx

    Amanda:Amanda数据结构与算法教程.docx

    基于java的供暖企业信息化报修平台源代码(完整前后端+mysql+说明文档+LW).zip

    基于java的供暖企业信息化报修平台源代码(完整前后端+mysql+说明文档+LW).zip

    Amanda软件开发流程教程.docx

    Amanda软件开发流程教程.docx

    河大计算机学科导论实验Ⅵ

    河大计算机学科导论实验Ⅵ

    基于Arduino的温湿度监测系统.zip

    这个项目是一个基础的温湿度监测系统,适合作为电子设计竞赛的入门项目。希望这个项目能帮助你入门电子设计和微控制器编程!

    BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的项目实战开发例程-CC2540的USB口通讯.zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2540/CC2541上运行,如果是其他型号芯片,请自行调整。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。

Global site tag (gtag.js) - Google Analytics