第1个回答 2010-11-01
试用poi 将数据导入到数据库
public class PoiExcel {
public List PoiExcel(){
List ml = new ArrayList();
HSSFWorkbook wookbook;
try {
wookbook = new HSSFWorkbook(new FileInputStream("d:/Book.xls"));
HSSFSheet sheet = wookbook.getSheet("Sheet1");
int rows = sheet.getPhysicalNumberOfRows();
int i=0;
String ce = null;
int la=0;
Excel e = new Excel();
for (i = 0; i < rows; i++) {
HSSFRow row = sheet.getRow(i);
if (row != null) {
int cells = row.getPhysicalNumberOfCells();
String value = "";
for (int j = 0; j < cells; j++) {
HSSFCell cell = row.getCell(j);//取出来的是每个单元格里的信息
if(cell == null){
//在这给cell赋个空串
}
ce=cell.toString();
la++;//记录下来ce被赋值的第几次
int indexof=ce.indexOf(".");
if(indexof>0){
ce=ce.substring(0,indexof);//将Excel表中导出数据
}
System.out.print(ce+" la:"+la+" ");
if((la+4)%4==1){
e.setId(new Integer(ce));
}
if((la+4)%4==2){
e.setName(ce);
}
if((la+4)%4==3){
e.setPassword(ce);
}
if((la+4)%4==0){
e.setAge(new Integer(ce));
System.out.println();
ml.add(e);
System.out.println("***集合ml的大小"+ml.size());
e = new Excel();
}
if(i==0){
//打印出表格中第一行的数据
// System.out.print(ce+" : "+indexof+" ");
}
// if (cell != null) {
// switch (cell.getCellType()) {
// case HSSFCell.CELL_TYPE_FORMULA:
// break;
// case HSSFCell.CELL_TYPE_NUMERIC://数值类型
// double v = cell.getNumericCellValue();
// value += String.valueOf(v) + ",";
// break;
// case HSSFCell.CELL_TYPE_STRING://字符串类型
// value += cell.getStringCellValue() + ",";
// break;
// default:
// value += "0";
// break;
// }
// }
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ml;
}