java读取EXCEL表格~学习笔记_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java读取EXCEL表格~学习笔记

java读取EXCEL表格~学习笔记

 2011/9/22 8:13:22  rfheh  http://rfheh.iteye.com  我要评论(0)
  • 摘要:JavaExcelAPI提供了许多访问Excel数据表的方法Workbook类提供的方法1.intgetNumberOfSheets()获得工作薄(Workbook)中工作表(Sheet)的个数,示例:jxl.Workbookrwb=jxl.Workbook.getWorkbook(newFile(sourcefile));intsheets=rwb.getNumberOfSheets();2.Sheet[]getSheets()返回工作薄(Workbook)中工作表(Sheet)对象数组
  • 标签:笔记 excel 学习 Java 表格 学习笔记
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)
  • 下载次数: 0
发表评论
用户名: 匿名