C#Excel上传批量导入sqlserver

前台:

 <x:FileUpload ID="btnUpField"  runat="server" Label="上传Excel批量导入用户信息" ShowLabel="true"  >

                    </x:FileUpload>
                    <x:Button ID="Button1" Text="上传" runat="server" Icon="SystemSaveNew"
                        OnClick="btnUpField_Click">
                        </x:Button>

后台:

 protected void btnUpField_Click(object sender, EventArgs e)
        {
            //将需要导入的文件上传到服务器 
            string filePath = "";
            string fileExtName = "";
            string myFileName;//用不到,但也写上吧 
            string myPath;
            string FullName = "";//保存文件的完整文件名 
            if (btnUpField.PostedFile.FileName != "")
            {
                //取得文件路径    
                filePath = btnUpField.PostedFile.FileName;
                //取得文件扩展名
                fileExtName = filePath.Substring(filePath.LastIndexOf(".") + 1);
                //判断是否为Excel文件  
                if (fileExtName == "xls" || fileExtName == "xlsx")
                {
                    try
                    {
                        //取得与web服务器上指定的虚拟路径相对应的物理路径
                        myPath = Server.MapPath("~/UpFile/");
                        //取得文件名
                        myFileName = filePath.Substring(filePath.LastIndexOf(".") + 1);
                        //取得当前时间,以“时时分分秒秒”来命名,以免重复 
                        string strDateName = DateTime.Now.ToString("hhmmss");
                        FullName = myPath + strDateName + "." + fileExtName;
                        btnUpField.PostedFile.SaveAs(FullName);
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.Message);
                    }
                }
                else
                {
                    Alert.Show("文件格式不正确", MessageBoxIcon.Error);
                    return;

                }

            }
            //读取Excel中的内容 
            //string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FullName + ";Extended Properties=‘Excel 8.0;HDR=YES;IMEX=1;‘";//Excel2003
            //string strConn = String.Empty;
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + FullName + ";Extended Properties=‘Excel 12.0; HDR=YES; IMEX=1‘";//Excel2007以上

            OleDbConnection connxls = new OleDbConnection(strConn);
            if (connxls.State.ToString() == "Closed")
            {
                connxls.Open();

            }

            string sqlExcel = "SELECT * FROM [Sheet1$]";

            OleDbDataAdapter myDa = new OleDbDataAdapter(sqlExcel, connxls);
            //DataTable m_tableName=new DataTable();
            DataSet myDs = new DataSet();
            //m_tableName = connxls.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            //if (m_tableName != null && m_tableName.Rows.Count > 0)
            //{

            //    m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString();

            //}
            try
            {
                myDa.Fill(myDs, "[Sheet1$]");
            }
            catch (Exception ex)
            {
                Response.Write("数据格式不对!" + ex.Message);
            }
            if (myDs.Tables[0].Rows.Count > 0)//数据绑定
            {
                int i = 0;
                try
                {

                }
                catch (Exception ex)
                {
                    Response.Write("读取出错" + ex.Message);
                }
                for (i = 0; i < myDs.Tables[0].Rows.Count; i++)
                {
                    txtLoginName.Text = myDs.Tables[0].Rows[i][0].ToString();
                    txtName.Text = myDs.Tables[0].Rows[i][1].ToString();
                    txtPassword.Text = myDs.Tables[0].Rows[i][2].ToString();
                    txtAfreshPwd.Text = myDs.Tables[0].Rows[i][3].ToString();

                    if (myDs.Tables[0].Rows[i][4].ToString().Equals("男"))
                    { rbSex.SelectedItem.Value = "男"; }
                    else
                    { rbSex.SelectedItem.Value = "女"; }

                    Save();

                }

                Alert.Show("恭喜您保存成功" + "共有" + myDs.Tables[0].Rows.Count + "条数据," + "正在保存第" + i + "条", MessageBoxIcon.Information);
            }
            PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
        }

C#Excel上传批量导入sqlserver,布布扣,bubuko.com

时间: 2024-10-12 03:21:39

C#Excel上传批量导入sqlserver的相关文章

ASP.NET MVC编程入门--Excel上传

参考博客:ASP.NET MVC下使用文件上传 参考博客:NPOI使用手册 参考博客:ASP.Net MVC利用NPOI导入导出Excel 参考博客:C# NPOI 导入与导出Excel文档 兼容xlsx, xls 文件上传代码块 #region EXCEL上传 /// <summary> /// EXCEL上传 /// </summary> /// <param name="fileData"></param> /// <retu

IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗

前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免重复编写逻辑检验代码,于是有了这篇文章. 第一步.读取Excel表格数据 1 public ActionResult UploadExcel() 2 { 3 ResultInfo<List<User>> result = new ResultInfo<List<User&g

Excel上传并读取数据

最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUpload ID="FileUpload1" runat="server" /> Insus.NET习惯性,在每一个专案中,都会创建一个临时目录. 因为很多时候,我们处理一些临时文件,或是数据均可在此临时目录中进行.它有点像Windows下的临时目录一样. 上面代码

java 后台解析excel上传数据 工具类

后台调用: MultipartFile file: List<String[]> excelDate package com.holike.crm.partner.sys; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.apache.poi.h

基于Spring MVC实现基于form表单上传Excel文件,批量导入数据

在pom.xml中引入: <!--处理2003 excel--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <!--处理2007 excel--> <dependency> <group

EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能

第一步:要想使用OCUpload首先前端需要导入js包         <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.ocupload-1.1.2.js"></script> 第二步:提供一个上传按钮(本案例用的EasyUi框架) var toolbar = [{                id: 'button-edit'

excel上传

jsp <c:if test="${not empty currentUserAccount and (currentUserAccount.role.contains('DA') or currentUserAccount.role.contains('FA')or currentUserAccount.role.contains('GMA')  or  currentUserAccount.role.contains('ADMIN'))}">    <div cl

excel上传保存到数据库 poi

使用工具: JQuery ocupload jquery.ocupload-1.1.2.js Apache POI  poi-3.9.jar 如果是使用maven: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> </dependency> jsp: <fo

基于BootStrap的initupload()实现Excel上传和获取excel中的数据

简单说明:后边要做exl解析(还没做呢),所以先有一个excel的的上传以及获取excel中的数据,展示出来. 代码: //html代码 <div class="btn-group"> <button class="btn sbold green" id="" onclick="initUpload('excelFile','/vraxx/rightAxx/upload');"> <span cl