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.}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值