EXCEL数据导入数据库实例(NPOI)

Default.aspx 页面代码:

引用了:    <script src="../../js/jquery.easyui.min.js" type="text/javascript"></script>

 

 <form id="fileForm" runat="server" enctype="multipart/form-data" method="post">

 导入EXCEL:<asp:fileupload runat="server" id="upFile"></asp:fileupload><a href="javascript:;"
                class="btn btn-primary" id="btnExelre">导入</a>

</form>

 

js代码:

  <script type="text/javascript">
        $(function() {
            //提交导入
            $("#btnExelre").click(function() {
                $("#fileForm").form("submit", {
                url: "../Handler/DiryExcel.ashx",
                    success: function(rdata) {
                        console.log(rdata);
                        rdata = $.parseJSON(rdata);
                        if (rdata.result == "success") {
                            alert(rdata.message);
                            window.location.reload();
                        } else if (rdata.result == "error") {
                            alert(rdata.message);
                        }
                    }
                });
            });
        });
    </script>

 

DiryExcel.ashx 页面:

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        context.Response.ContentType = "text/plain";
        SystemBLL._zaizhi fileBll = new SystemBLL._zaizhi();
        context.Response.ContentType = "text/plain";
        string strMsg = ""; //返回的提示信息
        string rType = ""; //返回的状态
        int obj = 0;
        HttpPostedFile file = context.Request.Files["upFile"]; //上传文件的控件
        try
        {
            if (file != null && file.InputStream != null && file.ContentLength > 0)
            {
                System.Data.DataTable dtImport = CommonLib.ExcelHelper1.ImportExceltoDt(file.InputStream);
                if (dtImport != null)
                {
                    for (int i = 0; i < dtImport.Rows.Count; i++)
                    {
                        SystemModel._zaizhi model = new SystemModel._zaizhi();


                        model.idcard = dtImport.Rows[i][0].ToString();//身份证号
                        model.sno = dtImport.Rows[i][1].ToString();//学号
                        model.sname = dtImport.Rows[i][2].ToString();//姓名      
                        model.ssex = dtImport.Rows[i][3].ToString();//性别
                        model.other = dtImport.Rows[i][4].ToString();//
                        model.szcode = dtImport.Rows[i][5].ToString();//
                        model.schoole = dtImport.Rows[i][6].ToString();//
                        model.szname = dtImport.Rows[i][7].ToString();//
                        model.other1 = DateTime.Now.ToString();
                 
                        obj += fileBll.Add(model);
                    }

                    if (obj == dtImport.Rows.Count)
                    {
                        strMsg = "恭喜你,数据导入成功!";
                        rType = "success";
                    }
                    else
                    {
                        strMsg = "很抱歉,数据导入失败!";
                        rType = "error";
                    }
                }
                else
                {
                    strMsg = "很抱歉,操作失败!";
                    rType = "error";
                }
            }
            else
            {
                strMsg = "很抱歉,上传文件为空,操作失败!";
                rType = "error";
            }
        }
        catch (Exception ex)
        {
            strMsg = "Error:" + ex.Message + "<br>" + ex.Source + ex.StackTrace;
            rType = "error";
        }
        string resultString = "{\"result\":\"" + rType + "\",\"message\":\"" + strMsg + "\"}";
        context.Response.Write(resultString);
    }

 //最后提示:

第一次使用的时候遇到的问题

使用的npoi不支持excel2003以上的版本,所以导入的时候。要选择03的excel数据,

解决办法:使用新的npoi 或者 把excel文件另存为03的

EXCEL数据导入数据库实例(NPOI),布布扣,bubuko.com

EXCEL数据导入数据库实例(NPOI)

上一篇:项目owner看这里,MaxCompute全表扫描新功能,给你“失误”的机会


下一篇:oracle定时备份与删除N天前备份文件