Excel中的文件格式:(看不清可以点击图片看原图)
User.java
package com.brj.importExcel;
public class User {
private int id;
private String userName;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString(){
return "UserId: " + id + "; UserName: " + userName + "; Password: " + password;
}
}
ExcelImporter.java
package com.brj.importExcel;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**
* 将Excel中数据导入为java所用
*
* @author brj
* @time 2008-09-19
*
*/
public class ExcelImporter {
/**
* @param args
*/
public static void main(String[] args) {
List<User> list = new ArrayList<User>();
User user = null;
Cell cell = null;
String filePath = "d:/2008-09-19-15-21-45.xls";
InputStream fs = null;
Workbook workBook = null;
try {
// 加载excel文件
fs = new FileInputStream(filePath);
// 得到 workbook
workBook = Workbook.getWorkbook(fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 取得sheet,如果你的workbook里有多个sheet 可以利用 wb.getSheets()方法来得到所有的。
// getSheets() 方法返回 Sheet[] 数组 然后利用数组来操作。就是多次循环的事。
Sheet sheet = workBook.getSheet(0);
// 开始循环,取得 cell 里的内容,这里都是按String来取的 为了省事,具体你自己可以按实际类型来取。或者都按
// String来取。然后根据你需要强制转换一下。
for (int i = 0; i < sheet.getRows(); i++) {
if (i == 0) {
continue;
}
// for (int j = 0; j < sheet.getColumns(); j++) {
// 对于User就三列
user = new User();
for (int j = 0; j < 3; j++) {
cell = sheet.getCell(j, i);
if (j == 0) {
user.setId(Integer.parseInt(cell.getContents()));
}
if (j == 1) {
user.setUserName(cell.getContents());
}
if (j == 2) {
user.setPassword(cell.getContents());
}
}
list.add(user);
}
workBook.close();
// 打印到Console
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
这样控制台上就会打印:
UserId: 0; UserName: brj0; Password: liming0
UserId: 1; UserName: brj1; Password: liming1
UserId: 2; UserName: brj2; Password: liming2
UserId: 3; UserName: brj3; Password: liming3
UserId: 4; UserName: brj4; Password: liming4
UserId: 5; UserName: brj5; Password: liming5
UserId: 6; UserName: brj6; Password: liming6
UserId: 7; UserName: brj7; Password: liming7
UserId: 8; UserName: brj8; Password: liming8
UserId: 9; UserName: brj9; Password: liming9
UserId: 10; UserName: brj10; Password: liming10
UserId: 11; UserName: brj11; Password: liming11
UserId: 12; UserName: brj12; Password: liming12
UserId: 13; UserName: brj13; Password: liming13
UserId: 14; UserName: brj14; Password: liming14
UserId: 15; UserName: brj15; Password: liming15
UserId: 16; UserName: brj16; Password: liming16
UserId: 17; UserName: brj17; Password: liming17
UserId: 18; UserName: brj18; Password: liming18
UserId: 19; UserName: brj19; Password: liming19
其中别忘记还需要jxl.jar包。