天天看点

java excel表格数据导入

jxl操作excel包括对象Workbook,Sheet ,Cell。

一个excel就对应一个Workbook对象,

一个Workbook可以有多个Sheet对象

一个Sheet对象可以有多个Cell对象

读取excel操作

通过Workbook,Sheet ,Cell这三个对象我们就可以实现Excel文件的读取工作。

1、 选取Excel文件得到工作薄

2、 选择工作表

3、 选择Cell

4、 读取信息

读取工作薄

选取Excel文件得到工作薄Workbook

Workbook workbook = Workbook.getWorkbook(new File("test.xls"));

读取工作表

通过Workbook的getSheet方法选择第一个工作表(从0开始)

Sheet sheet = workbook.getSheet(0);

也可以通过工作的名称来得到Sheet

读取单元格

通过Sheet的getCell方法选择位置为C1的单元格(两个参数都从0开始)

Cell c1 = sheet.getCell(0,0);

读取单元格的值

通过Cell的getContents方法

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

Cell提供了一个getType方法(c1.getType() )

能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell分别表示字符、数值、日期类型的单元格

CellType. LABEL  CellType. DATE   CellType.NUMBER

 以释放资源:workbook.close()

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

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();
        }
        
    }
}