源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Asp.net中把Excel数据存储至SQL Server中的具体实现方法

  • 时间:2021-05-29 21:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Asp.net中把Excel数据存储至SQL Server中的具体实现方法
[img]http://files.jb51.net/file_images/article/201306/2013612145902621.gif[/img] ExcelWrapper
[u]复制代码[/u] 代码如下:
        /// <summary>         /// 查询EXCEL电子表格添加到DATASET         /// </summary>         /// <param name="filenameurl">文件路径</param>         /// <param name="table">dataset中的表名(并不是要和数据库中的表一样)</param>         /// <returns></returns>         public static DataSet ExecleDs(string filenameurl, string table)         {             string strConn = "Provider=Microsoft.Jet.OleDb.4.0;"                                          + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";             OleDbConnection conn = new OleDbConnection(strConn);             conn.Open();             DataSet ds = new DataSet();             OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);             odda.Fill(ds, table);             return ds;         }
.cs
[u]复制代码[/u] 代码如下:
       // 提交按钮         protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)         {             try             {                 if (!FileUpload1.HasFile)                 {                     JsHelper.Alert("请您选择Excel文件", this);                     return;                 }                 // 取得文件后缀名                 string extension = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();                 if (extension != ".xls" && extension != ".xlsx")                 {                     JsHelper.Alert("只可以选择Excel文件", this);                     return;                 }                 //  构造Exel存在服务器相对路径的文件名,并SaveAs 将上传的文件内容保存在服务器上                 string filename = DateTime.Now.ToString("yyyymmddhhMMss") + FileUpload1.FileName;                 string savePath = Server.MapPath(("~\\upfiles\\") + filename);                 FileUpload1.SaveAs(savePath);                 DataSet ds = ExcelWrapper.ExecleDs(savePath, filename);                 DataRow[] dr = ds.Tables[0].Select();                 int rowsnum = ds.Tables[0].Rows.Count;                 List<String> lstMsg = new List<string>();                 if (rowsnum == 0)                 {                     JsHelper.Alert("Excel表为空表,无数据", this);                 }                 else                 {                     for (int i = 0; i < dr.Length; i++)                     {                         String error = "";                         // excel列名不能变                         string num = dr[i]["学号"].ToString();                         string name = dr[i]["姓名"].ToString();                         string pwd = dr[i]["密码"].ToString();                         string collegeNum = dr[i]["学院编号"].ToString();                         string birth = dr[i]["生日"].ToString();                         if (!BLL.M_CollegeBLL.GetAllCollegeNum().Contains(collegeNum))                         {                             error += "所属学院不存 ";                         }                         if (String.IsNullOrEmpty(collegeNum))                         {                             error += "请选择该学生所在院系 ";                         }                         if (String.IsNullOrEmpty(num))                         {                             error += "学号不能为空 ";                         }                         else if (!Utility.IsLetterThanSomeLength(num, 25))                         {                             error += "学号的长度过长 ";                         }                         if (String.IsNullOrEmpty(name))                         {                             error += "姓名不能为空 ";                         }                         else if (!Utility.IsLetterThanSomeLength(name, 25))                         {                             error += "姓名的长度过长 ";                         }                          if (String.IsNullOrEmpty(birth))                         {                             error += "出生日期不能为空 ";                         }                         else if (!Utility.IsDateTime(birth))                         {                             error += "出生日期格式不正确 ";                         }                         if (String.IsNullOrEmpty(sex))                         {                             error += "性别不能为空 ";                         }                         if (String.IsNullOrEmpty(error))                         {                             M_Student stu = new M_Student();                             stu.Num = num;                             stu.Name = name;                             stu.Pwd = pwd;                             stu.CollegeNum = collegeNum;                             stu.Birthday = Convert.ToDateTime(birth);                             // 该学号不存在                             if (!BLL.M_StudentBLL.GetAllStuNum().Contains(num))                             {                                 BLL.M_StudentBLL.Add(stu);                             }                             else                             {                                 BLL.M_StudentBLL.Modify(stu);                             }                         }                         else                         {                             lstMsg.Add("学号为" + num + "未导入成功," + "原因:" + error + "。");                         }                     }                 }                 this.lblHint.Text = "导入完成。";                 if (null != lstMsg)                 {                     this.lblHint.Text += "共有" + lstMsg.Count() + "条记录未成功。<br /><br />";                     foreach (string s in lstMsg)                     {                         this.lblHint.Text += s;                     }                 }             }             catch             {                 this.lblHint.Text = "程序出错,请您检查需要导入的表!";             }         }
效果图 [img]http://files.jb51.net/file_images/article/201306/2013612150233521.gif[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部