zoukankan      html  css  js  c++  java
  • 导入导出Excel

    前台代码

     <form enctype="multipart/form-data" action="/show/daoru" method="post">
                <input type="file" name="Exc" />
                <input type="submit"  id="daoru" value="导入"/>
      </form>

    后台代码

             引用 NPOI.dll 插件

           //using NPOI.HSSF.UserModel;
            //using NPOI.SS.UserModel;
            public FileResult daochu()
            {
                var data = new DAL.stuDAL().show();
                HSSFWorkbook book = new HSSFWorkbook();
                ISheet sheet = book.CreateSheet("sheet1");
                IRow row = sheet.CreateRow(0);                
                row.CreateCell(0).SetCellValue("ID");
                row.CreateCell(1).SetCellValue("Name");
                row.CreateCell(2).SetCellValue("AradeNo");
                row.CreateCell(3).SetCellValue("ClassNo");
                row.CreateCell(4).SetCellValue("Sex");
                row.CreateCell(5).SetCellValue("FileName");
                int ii = 0;
                    
                foreach (var item in data)
                {
                    ii++;
                    IRow rows = sheet.CreateRow(ii);
                    rows.CreateCell(0).SetCellValue(item.ID.ToString());
                    rows.CreateCell(1).SetCellValue( item.Name.ToString());
                    rows.CreateCell(2).SetCellValue( item.AradeNo.ToString());
                    rows.CreateCell(3).SetCellValue( item.ClassNo.ToString());
                    rows.CreateCell(4).SetCellValue( item.Sex.ToString());
                    rows.CreateCell(5).SetCellValue( item.FileName.ToString());
                }

                MemoryStream ms = new MemoryStream();
                book.Write(ms);

                ms.Seek(0,SeekOrigin.Begin);

                return File(ms,"application","zhoukao1.xls");
            }

            /// <summary>
            /// 导入
            /// </summary>
            /// <param name="Exc"></param>
            /// <returns></returns>

            public ActionResult daoru(HttpPostedFileBase Exc)
            {

                string filename = Server.MapPath("word");

                if (!Directory.Exists(filename))  //判断是否存在
                {
                    Directory.CreateDirectory(filename);//不存在则建立
                }

                string fname = Path.GetFileName(Exc.FileName);

                Exc.SaveAs(filename+fname);





                string path = filename + fname;
                OleDbConnection con =
                                  
                new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;");
                OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet1$]",con);
                DataTable tb = new DataTable();
                da.Fill(tb);

                for (int i = 0; i < tb.Rows.Count; i++)
                {
                    stuM mm = new stuM();               
                    mm.Age = 0;
                    mm.AradeNo = Convert.ToInt32(tb.Rows[i]["AradeNo"]);
                    mm.ClassNo = Convert.ToInt32(tb.Rows[i]["AradeNo"]);
                    mm.FileName =tb.Rows[i]["FileName"].ToString();
                    mm.Name =tb.Rows[i]["Name"].ToString();
                    mm.Sex = Convert.ToInt32(tb.Rows[i]["Sex"]);
                    int s=  new DAL.stuDAL().add(mm);   // 执行 DAL的方法
                }



                return Content("<script>alert('导入成功');location.href='show/show'</script >");

            }

  • 相关阅读:
    idea实现快捷批量修改替换
    接口自动化测试:利用环境变量管理测试环境的切换
    接口自动化测试:pytest自定义fixture传参request
    接口自动化测试:python连接mysql方法封装
    接口自动化测试:yaml文件中变量替换
    接口自动化测试:测试数据生成的一个小技巧
    接口自动化测试:抓包方式理解三次握手与四次挥手
    selenium相关:selenium grid的简单用法
    APP测试学习:弱网测试
    APP测试学习:耗电量测试
  • 原文地址:https://www.cnblogs.com/yxlx/p/7880754.html
Copyright © 2011-2022 走看看