zoukankan      html  css  js  c++  java
  • 简单excel的导入导出

    需引用程序集

    导出:

      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);
                    }
  • 相关阅读:
    一些必不可少的Sublime Text 2插件
    sublime text 使用小技巧
    Azure Queue 和 Service Bus Queue的比较
    怎么使用Windows Azure Queue Storage 服务
    配置 SharePoint 2010 使用本机默认 SQL Server 实例 Pan
    将两个字符串中相同的地方str2无重复的输出
    javascript笔记
    C#中怎样使控件随着窗体一起变化大小(拷来学习)
    在pictureBox中画方格矩阵地图,方法比较笨,有好方法望指导
    通过一个小推理写出的程序,结果出乎意料……有哪位知道为什么吗 已解决
  • 原文地址:https://www.cnblogs.com/junhuang/p/4081502.html
Copyright © 2011-2022 走看看