java读取Excel

用java操作Excel文件的方法有很多,这里使用Java excel API。(下载地址:http://sourceforge.net/projects/jexcelapi/files/)

 

一.从Excel文件读取数据表

1.创建Workbook(术语:工作薄):

InputStream is = new FileInputStream(new File("test.xls"));

jxl.Workbook rwb = Workbook.getWorkbook(is);


2.通过工作薄来访问Excel Sheet(术语:工作表):

Sheet rs = rwb.getSheet(0);

注意:既可能通过Sheet的名称来访问它,也可以通过下标来访问它。下标从0开始,就像数组一样。

 

3.得到了Sheet后通过它来访问Excel Cell(术语:单元格):

Cell c00 = rs.getCell(0, 0); //获取第一列、第一行的单元格,第一个参数是列号,第二个参数是行号

String strc00 = c00.getContents(); //获取单元格的值,强转成字符串型

Cell c10 = rs.getCell(0,1);

Cell c11 = rs.getCell(1,1);


如果有需要知道Cell内容的确切类型,API也提供了一系列的方法。

if (c00.getType() == CellType.LabelCell) {

LabelCell labelc00 = (LabelCell)c00;

String strc00 = labelc00.getString();

}

 

if (c10.getType() == CellType.NUMBER) {

NmberCell numc10 = (NumberCell)c10;

double strc10 = numc10.getValue();

}

if (c11.getType() == CellType.DATE) {

DateCell datec11 = (DateCell)c11;

Date strc11 = datec11.getDate();

}

 

4.释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。

rwb.close();

 

二,Workbook类提供的方法

1.获得工作薄(Workbook)中工作表(Sheet)的个数

 int getNumberOfSheets()

 

2.返回工作薄(Workbook)中工作表(Sheet)对象数组

 Sheet[] getSheets()

 

3.返回正在使用的API的版本号,好像是没什么太大的作用

String getVersion()

 

三,Sheet接口提供的方法

1. String getName() //获取Sheet的名称

2. int getColumns() //获取Sheet表中所包含的总列数

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

4. int getRows() //获取Sheet表中所包含的总行数

5. Cell[] getRow(int row) //获取某一行的所有单元格,返回的是单元格对象数组

 

参考:http://www.360doc.com/content/09/1211/11/8667_10857505.shtml

 

你可能感兴趣的:(java,c,工作,String,api,Excel)