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()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要
导入数据代码
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();
}
}
}
|
附件:http://down.51cto.com/data/2365183
本文转自 l363130002 51CTO博客,原文链接:http://blog.51cto.com/liuyj/1588460