需引用程序集
导出:
List<类型> lists = new List<类型>; //数据是存储在工作表中的,但是创建工作表需要先创建出工作薄。有了工作薄就可以根据工作薄创建出工作表 //1.创建出工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); //2.创建该工作薄的工作表 //HSSFSheet sheet1 = new HSSFSheet(workbook); HSSFSheet sheet1 = workbook.CreateSheet(); //3.往工作表中填写数据 for (int i = 0; i < lists.Count; i++) { //每一个对象就对应着一行数据 //4.先创建出sheet表的数据行对象 HSSFRow row = sheet1.CreateRow(i); //5.1为行的每一列添加数据---先创建出行的列
HSSFCell cell1 = row.CreateCell(0); //5.2 为这一列赋值 cell1.SetCellValue(lists[i].CID);
HSSFCell cell2 = row.CreateCell(1); //5.2 为这一列赋值 cell2.SetCellValue(lists[i].CName); //工作薄创建好之后,还需要使用文件流将数据写入到物理文件 using(FileStream fs=new FileStream(@"C:UsersjohnDesktop11.xls",FileMode.Create)) { workbook.Write(fs); }
导入:
//导入:将指定的文件读取出来 using(FileStream fs=new FileStream(@"C:UsersjohnDesktop11.xls",FileMode.Open)) { //1.将读取出的数据生成一个工作薄 HSSFWorkbook workbook = new HSSFWorkbook(fs); //2.需要取出这个工作薄中的工作表 HSSFSheet sheet = workbook.GetSheetAt(0); //3.循环读取这张表中的每一行数据.因为从那一行开始写入是可以修改的,那么FirstRowNum就记录开始写入的行,LastRowNum就记录最后一行 StringBuilder sb = new StringBuilder(); List<类型> lists = new List<类型>(); for (int row = sheet.FirstRowNum; row <= sheet.LastRowNum; row++) { //4每一行数据就会对应着一个对象 MODEL.Classes clas = new MODEL.Classes(); //先取出这一行 HSSFRow curow = sheet.GetRow(row); clas.CID = (int)curow.GetCell(0).NumericCellValue; clas.CName = curow.GetCell(1).StringCellValue; clas.CCount = (int)curow.GetCell(2).NumericCellValue; clas.CImg = curow.GetCell(3).StringCellValue; clas.CIsDel = (bool)curow.GetCell(4).BooleanCellValue; clas.CAddTime = Convert.ToDateTime(curow.GetCell(5).DateCellValue); lists.Add(clas); }