.Net SqlServer导入导出Excel

 /// <summary>
    /// 上传
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Upload_Click(object sender, EventArgs e)
    {
        //上传文件的全路径  
        string path = FileUpload1.PostedFile.FileName;
        //文件全名  
        path = path.Substring(path.LastIndexOf("\\") + 1);
        //文件后缀  
        path = path.Substring(path.LastIndexOf("."));
        //判断excel文件  
        if (path.ToLower() != ".xls" && path.ToLower() != ".xlsx")
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('请选择excel文件')</script>");
            return;
        }

        //上传文件新名,防止重名  
        path = DateTime.Now.ToString("yyyyMMddmmssffff") + path;

        //创建excel文件保存路径  
        string serverPath = Server.MapPath("ExcelFiles");
        if (!Directory.Exists(serverPath))
        {
            Directory.CreateDirectory(serverPath);//创建ExcelFiles文件夹  
        }
        //保存路径  
        path = serverPath + path;
        //保存  
        FileUpload1.PostedFile.SaveAs(path);

        //用gridview显示  
        //this.GridView1.DataSource = GetExcelContent(path);
        //this.GridView1.DataBind();
        GetExcelContent(path);
        //删除上传的excel文件。  
        File.Delete(path);  

    }
    public void GetExcelContent(string filePath)
    {
        //excel2007,兼容2003  
        string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';";
        //excel2003  
        // string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1'";  
        System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strCon);
        myConn.Open();
        //获取excel第一标签名  
        DataTable schemaTable = myConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
        string tableName = schemaTable.Rows[0][2].ToString().Trim();//标签名  
        string strCom = "SELECT *  FROM [" + tableName + "]";//查询语句  
        System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, myConn);
        //创建一个DataSet对象     
        DataSet myDataSet = new DataSet();
        //得到自己的DataSet对象     
        myCommand.Fill(myDataSet);
        //关闭此数据链接     
        myConn.Close();
        //return myDataSet;
        foreach (DataRow row in myDataSet.Tables[0].Rows)
        {
            qunzhongModels.User_BaseInfo model = new qunzhongModels.User_BaseInfo();
          
            model.User_BaseInfo_EMail = "";
            model.User_BaseInfo_ID = row[0].ToString();
            model.User_BaseInfo_Name = row[0].ToString();
            model.User_BaseInfo_Password = GetMD5(row[1].ToString(), "GB2312");
            model.User_BaseInfo_RegDate = DateTime.Now;
            if (qunzhongBLL.UserManager.AddUserInfo(model))
            {
                qunzhongModels.User_ExtInfo ue = new qunzhongModels.User_ExtInfo();
                ue.User_ExtInfo_ID = model.User_BaseInfo_ID; ;
                ue.User_ExtInfo_FullName = "";
                ue.User_ExtInfo_Sex = 1;
                ue.User_ExtInfo_CardType = " ";
                ue.User_ExtInfo_CardID = " ";
                ue.User_ExtInfo_UserType = " ";
                ue.User_ExtInfo_Birthday = Convert.ToDateTime("1900-1-1");
                ue.User_ExtInfo_Star = " ";
                ue.User_ExtInfo_Address = "";
                ue.User_ExtInfo_Native = " ";
                ue.User_ExtInfo_Face = " ";
                ue.User_ExtInfo_Mob = " ";
                ue.User_ExtInfo_Tel = " ";
                ue.User_ExtInfo_Zip = " ";
                ue.User_ExtIfo_Interests = " ";
                ue.User_ExtInfo_StatusType = "1";
                ue.User_ExtInfo_Level = " ";
                ue.User_ExtInfo_LogNum = 0;
                ue.User_ExtInfo_LastLogIn = DateTime.Now;
                ue.User_ExtInfo_TotalPoints = 0;
                ue.User_ExtInfo_UsePoints = 0;
                qunzhongBLL.UserManager.AddUserExtInfo(ue);

                qunzhongModels.User_Roles ur = new qunzhongModels.User_Roles();
                ur.User_Roles_ID = model.User_BaseInfo_ID;
                ur.User_Rolse_Name = "A01";
                ur.User_Roles_Status = 1;
                qunzhongBLL.UserManager.AddUserRoles(ur);
            }
        }
        ClientScript.RegisterStartupScript(this.GetType(), "ajaxjs", string.Format("alert('{0}!')", "用户导入成功,请在用户信息查询页面查看.."), true);
    }
    /

 /// <summary>
    /// 导出
    /// </summary>
    /// <param name="rp"></param>
    /// <param name="strFileName"></param>
    public static void ExportExcel(ref System.Web.UI.WebControls.GridView rp, string strFileName)
    {
        strFileName = System.Web.HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8);
        System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.Buffer = true;
        System.Web.HttpContext.Current.Response.Charset = "gb2312";
        System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "online; filename=" + strFileName + ".xls");
        System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
        System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
        System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN", true);
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
        rp.RenderControl(oHtmlTextWriter); rp = null;
        System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("<td", "<td STYLE='MSO-NUMBER-FORMAT:\\@'"));
        System.Web.HttpContext.Current.Response.Buffer = false; System.Web.HttpContext.Current.Response.End();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值