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
49
50
|
package
com.xiaoye.demo;
import
java.io.FileInputStream;
import
java.io.InputStream;
import
org.apache.poi.hssf.usermodel.HSSFCell;
import
org.apache.poi.hssf.usermodel.HSSFRow;
import
org.apache.poi.hssf.usermodel.HSSFSheet;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook;
import
org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* 遍历工作薄的行和列取值
* @author 小夜的传说
* 2014-2-21 上午11:07:41
*/
public
class
ThrRowCell {
public
static
void
main(String[] args)
throws
Exception {
InputStream in=
new
FileInputStream(
"d://测试文件.xls"
);
POIFSFileSystem fs=
new
POIFSFileSystem(in);
HSSFWorkbook wb=
new
HSSFWorkbook(fs);
HSSFSheet hssfSheet=wb.getSheetAt(
0
);
//获取第一个Sheet页
if
(hssfSheet==
null
){
return
;
}
//先要遍历行
for
(
int
rowNum=
0
;rowNum<=hssfSheet.getLastRowNum();rowNum++){
HSSFRow hssRow=hssfSheet.getRow(rowNum);
if
(hssRow==
null
){
continue
;
}
for
(
int
cellNum=
0
;cellNum<=hssRow.getLastCellNum();cellNum++){
HSSFCell hssfCell=hssRow.getCell(cellNum);
if
(hssfCell==
null
){
continue
;
}
System.out.print(
"--"
+getValue(hssfCell));
}
System.out.println();
}
}
private
static
String getValue(HSSFCell hssfCell){
if
(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
return
String.valueOf(hssfCell.getBooleanCellValue());
}
else
if
(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
return
String.valueOf(hssfCell.getNumericCellValue());
}
else
{
return
String.valueOf(hssfCell.getStringCellValue());
}
}
}
|
获取的Excel表格的样式图示:
控制台效果图:
因为Excel数据库传进来的值千变万化,所以我封装了getValue()方法,当然里面的方法肯定不止这么多,你需要什么样就写什么样的吧!
本文转自 小夜的传说 51CTO博客,原文链接:http://blog.51cto.com/1936625305/1362153,如需转载请自行联系原作者