jxl操作excel包括对象WorkbookSheet Cell
一个excel就对应一个Workbook对象,
一个Workbook可以有多个Sheet对象
一个Sheet对象可以有多个Cell对象


读取excel操作
通过WorkbookSheet Cell这三个对象我们就可以实现Excel文件的读取工作。
1、 选取Excel文件得到工作薄
2、 选择工作表
3、 选择Cell
4、 读取信息


读取工作薄
选取Excel文件得到工作薄Workbook
Workbook workbook = Workbook.getWorkbook(new File("test.xls"));


读取工作表
通过WorkbookgetSheet方法选择第一个工作表(从0开始)
Sheet sheet = workbook.getSheet(0);
也可以通过工作的名称来得到Sheet


读取单元格
通过SheetgetCell方法选择位置为C1的单元格(两个参数都从0开始)
Cell c1 = sheet.getCell(0,0);


读取单元格的值
通过CellgetContents方法
把单元格中的信息以字符的形式读取出来String str = c1.getContents();


Cell提供了一个getType方法(c1.getType() )
能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCellNumberCellDateCell分别表示字符、数值、日期类型的单元格
CellType. LABEL  CellType. DATE   CellType.NUMBER


 以释放资源:workbook.close()
当你完成对Excel电子表格数据的处理后,一定要使用close()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要


导入数据代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package  com.liu.servlet;
import  java.io.IOException;
import  javax.servlet.ServletException;
import  javax.servlet.annotation.MultipartConfig;
import  javax.servlet.annotation.WebServlet;
import  javax.servlet.http.HttpServlet;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;
import  javax.servlet.http.Part;
import  jxl.Cell;
import  jxl.Sheet;
import  jxl.Workbook;
import  jxl.read.biff.BiffException;
@WebServlet ( "/uploadFile" )
@MultipartConfig
public  class  UploadFileServlet  extends  HttpServlet{
  
     @Override
     protected  void  doPost(HttpServletRequest req, HttpServletResponse resp)
             throws  ServletException, IOException {
         req.setCharacterEncoding( "utf-8" );
         
         //获取文件部件part
         Part part = req.getPart( "upfile" );
         
         try  {
             Workbook book= Workbook.getWorkbook(part.getInputStream());
             Sheet sheet=book.getSheet( 0 ); 
             
             System.out.println(sheet.getColumns());
             System.out.println(sheet.getRows());
             for ( int  i= 0 ;i<sheet.getRows();i++){
                 for ( int  j= 0 ;j< sheet.getColumns ();j++){
                     Cell cell1=sheet.getCell(j,i);  
                     String result=cell1.getContents();  
                     System.out.print(result+ "  " );
                 }
                 System.out.println();
             }
             
             book.close(); 
         catch  (BiffException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
         
     }
}