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的

  • 相关阅读:
    java经常出现的异常
    后台采用springmvc框架 前台bootstrap 实现对话框编辑信息
    List集合与Array数组之间的互相转换
    freemarker 设置文本内容超过一定长度 用省略号代替
    bootstrap实现多个下拉框同时搜索
    jquery 循环遍历选中的多选复选框checkbox
    同时对数据库进行更新,添加与删除操作
    获取页面内容封装成json对象
    前台bootstrap按钮动态添加与删除
    set 遍历
  • 原文地址:https://www.cnblogs.com/vanteking/p/3796366.html
Copyright © 2011-2022 走看看