`
rfheh
  • 浏览: 14327 次
  • 性别: 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,记得很容易就能实现,推荐需要的可以试试,集成起来很方便的。

相关推荐

    java学习笔记

    在学习笔记中,这部分可能包括如何创建、修改和读取Excel电子表格,理解HSSF(针对旧版Excel .xls格式)和XSSF(针对新版本的.xlsx格式)API,以及处理单元格样式、公式和数据格式化等内容。 3. **DB**:这部分内容...

    POI的学习笔记

    ### POI学习笔记知识点解析 #### 一、POI简介 Apache POI是一个开源的Java API,用于处理Microsoft Office格式的文件,包括Excel (.xls, .xlsx), PowerPoint (.ppt, .pptx) 和 Word (.doc, .docx)。POI提供了一套...

    JXL 学习笔记(看了就差不多了)

    JXL(Java Excel API)是Java平台上的一个开源库,它允许开发者读取、创建和修改Excel文件。JXL支持Excel 97到2003的格式(.xls),对于新版本的Excel格式(.xlsx)则不支持。尽管如此,由于其简单易用的API和广泛的...

    POI学习笔记

    ### POI学习笔记:深入理解Java操作Excel的核心技术 #### 一、简介 Apache POI是Java编程语言中处理Microsoft Office格式文件的强大工具包。它提供了API来读取、创建和修改Word文档、Excel电子表格以及PowerPoint...

    读写Excel jxl.jar 读xml (log4j 文件上传下载笔记).rar

    在实际应用中,你可以利用这个库来自动化报表生成,或者从用户填写的Excel表格中提取数据。 其次,XML(可扩展标记语言)是另一种常见的数据交换格式。Java中解析XML文件通常使用DOM(文档对象模型)、SAX(简单API...

    LotusDomino学习笔记.doc

    ### LotusDomino学习笔记知识点概览 #### 1. 选取视图的列的内容 (@Trim @DbColumn) - **@Trim**: 是一个内置的LotusScript函数,用于去除字符串两端的空白字符。 - **@DbColumn**: 此函数用于获取指定列的信息。...

    jexcelapi学习笔记三——各数据类型的写操作(修改)

    `jExcelAPI`是一个开源Java库,它允许开发者读取和写入Microsoft Excel文件(.xls格式),为处理数据提供了便利。 首先,`jExcelAPI`提供了多种方法来创建和修改单元格中的数据。在`SimpleExcelWrite.java`示例代码...

    多个sheet内容 代码.zip

    它允许开发人员在不使用Microsoft Office的情况下,在服务器端或没有GUI的环境中生成、修改和读取Excel文件。 2. **Excel**:这是Microsoft Office套件的一部分,用于创建电子表格,进行数据分析和计算。在这里,...

    grid++ report在线报表的使用笔记

    1. 设计界面:Grid++ Report提供了一个直观的报表设计器,用户可以通过拖拽的方式添加表格、图表、文本等元素,自由调整布局。 2. 表达式与函数:在单元格中,你可以使用表达式语言编写复杂的计算公式,或者调用...

    Matlab系列--记录学习matlab.zip

    9. **文件I/O**:MATLAB可以读取和写入多种格式的数据文件,如文本文件、Excel表格、图像文件等,方便数据导入导出。 10. **编程与调试**:MATLAB支持结构化编程,如循环、条件语句、函数嵌套等,还有断点、步进...

    untitled.zip

    CSV文件易于读取,可以被多种软件(如Microsoft Excel、数据分析工具)打开和处理。日期“20211115”可能表示文件创建或更新的日期,暗示这可能是某种日志或记录。 3. **untitled.iml**: ".iml" 文件是IntelliJ ...

Global site tag (gtag.js) - Google Analytics