zoukankan      html  css  js  c++  java
  • 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";
            SystemBLL._zaizhi fileBll = new SystemBLL._zaizhi();
        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的

  • 相关阅读:
    windows的80端口被占用时的处理方法
    Ansible自动化运维工具安装与使用实例
    Tomcat的测试网页换成自己项目首页
    LeetCode 219. Contains Duplicate II
    LeetCode Contest 177
    LeetCode 217. Contains Duplicate
    LeetCode 216. Combination Sum III(DFS)
    LeetCode 215. Kth Largest Element in an Array(排序)
    Contest 176 LeetCode 1354. Construct Target Array With Multiple Sums(优先队列,递推)
    Contest 176
  • 原文地址:https://www.cnblogs.com/vanteking/p/3796366.html
Copyright © 2011-2022 走看看