1 public string ExcelFile()
2 {
//指定文件路径,
3 string fileName=@"d:Stu.xls";
//创建一个文件流,并指定其中属性
4 using(FileStream fs = new FileStream(fileName,FileMode.Open,FileAccess.Read))
5 {
//创建一个Excel对象,并指明文件流
6 HSSFWorkbook book = new HSSFWorkbook(fs);
//创建一个sheet对象,并指明第几个sheet,
7 ISheet sheet = book.GetSheetAt(0);
8 Student model = new Student();
9 for(int i=sheet.FirstRowNum+1;i<sheet.LastRowNum;i++)
10 {
//创建一个row对象,并获取该sheet中的第几行
IRow row = sheet.GetRow(i);
//将每行从第0列开始赋值给对应的属性,在此需要添加一个辅助方法,GetCellValue
11 model.StudentName = Convert.ToString(GetCellValue(row.GetCell(0)));
12 model.Sex = Convert.ToString(GetCellValue(row.GetCell(1)))=="男"?0:1;
13 model.Birthday = Convert.ToDateTime(GetCellValue(row.GetCell(2)).ToString());
//将每行的记录的传后,添加到数据库中,
14 bll.Create(model);
15 }
16 }
return "ok";
17 }
添加一个GetCellValue方法,用于获取Excel单元格值
1 private object GetCellValue(ICell cell)
2 {
3 if (cell == null) return null;
4 switch (cell.CellType)
5 {
6 case CellType.Blank:
7 return null;
8 case CellType.Boolean:
9 return cell.BooleanCellValue;
10 case CellType.Error:
11 return cell.ErrorCellValue;
12 case CellType.Numeric:
13 return cell.NumericCellValue;
14 case CellType.String:
15 return cell.StringCellValue;
16 case CellType.Formula:
17 default:
18 return "=" + cell.CellFormula;
19 }
20
21 }