zoukankan      html  css  js  c++  java
  • Asp.NET Excel导入数据返回JSON字符

     

    前端创建ID为ExcelDy的一个按钮 以及 一个有导入按钮的窗体

     <a id="ExcelDy"  class="left disabled" href="javascript:void(0)"><span>
                                <img alt='' src='../images/primeval/import.bmp' /></span>导入入库</a> <span class="left-spner">
                                </span>
    
    
    <%--导入入库--%>
         <div id="window10" class="hide">
                <div style="margin: 0 auto;  960px;">
                    <input type="file" id="file1" name="file" />
    
                </div>
                <div class="jg-btm" style=" 300px;">
                    <input type="button" class="bc-btn" value="上传并导入" id="daoru" />
                </div>
            </div>

    <script src="../Scripts/ajaxfileupload.js" type="text/javascript"></script>
     

    点击导入按钮弹出窗体 选择Excel表格点击导入 跳进一般处理程序

         window.onload = function () {
                    $("#ExcelDy").removeClass("disabled");
            }
    
            var win10 = $("#window10").window({ title: "导入入库",  420, height: 210, bodyPadding: 0, onClosing: function () { win10.window("close"); } });
            $("#ExcelDy").click(function () {            
                win10.window("show");
            });
            $("#daoru").click(function () {
                ajaxFileUpload();
            });
            function ajaxFileUpload() {
                var gkhm;
                $.ajaxFileUpload(
                    {
                        url: 'data/upload.ashx', //用于文件上传的服务器端请求地址
                        secureuri: false, //是否需要安全协议,一般设置为false
                        fileElementId: 'file1', //文件上传域的ID
                        dataType: 'json', //返回值类型 一般设置为json
                        data: { GYS: $("#SUPPLIER").val() },
                        success: function (data)  //服务器成功响应处理函数
                        {
                            debugger
                            //
                            if (data.Msg == "") {
    
                                $.each(data.Data, function (index, dataObj, c) {
                                                          
                                var e = data.Data[index];
                                $("#text8").dgaddrow(e);
                                $("#SUPPLIER1").val(e.GysName); 
                                $("#SUPPLIER").val(e.SUPPLIER);
                                $("#LYKSMC").val(e.KsName); 
                                $("#LYKS").val(e.KsBH);
                                })
                               
                                win10.window("close");
                            } else {
                                alert(data.Msg);
                            }
                           
    
                        },
                        error: function (data, status, e)//服务器响应失败处理函数
                        {
                            alert(data.Msg);
                        }
                    }
                )
                
            }

     把文件读取到DataSet中

     返回Json数据  前台把json数据读取到表单中 

    SELECT * FROM [入库单$] 入库单为单元名称
      1     /// <summary>
      2     /// upload 的摘要说明
      3     /// </summary>
      4     public class upload : IHttpHandler
      5     {
      6         SBCRKBH_BLL_NEW cgrk = new SBCRKBH_BLL_NEW();
      7         public void ProcessRequest(HttpContext context)
      8         {
      9             //string gys = context.Request["GYS"];
     10             ResultData resultData = new ResultData();
     11             if (context.Request.Files == null)
     12             {
     13                 resultData.Msg = "上传文件为空";
     14                 context.Response.Write(JsonConvert.SerializeObject(resultData));
     15                 return;
     16             }
     17 
     18             var filedata = context.Request.Files["file"];
     19 
     20             var path = "/Upload/";
     21             var serverPath = context.Server.MapPath("~" + path);
     22             if (!System.IO.Directory.Exists(serverPath))
     23             {
     24                 System.IO.Directory.CreateDirectory(serverPath);
     25             }
     26             if (string.IsNullOrEmpty(filedata.FileName))
     27             {
     28                 resultData.Msg = "请选择文件";
     29                 context.Response.Write(JsonConvert.SerializeObject(resultData));
     30                 return;
     31             }
     32             var filename = Guid.NewGuid().ToString() + filedata.FileName.Substring(filedata.FileName.LastIndexOf('.'));
     33             string filepath = serverPath + filename;
     34             filedata.SaveAs(filepath);
     35 
     36             string fileType = System.IO.Path.GetExtension(filepath);
     37 
     38 
     39 
     40             using (DataSet ds = new DataSet())
     41             {
     42                 string strCon = " Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties='Excel 12.0;HDR=Yes;IMEX=2';Data Source=" + filepath;
     43 
     44                 string strCom = " SELECT * FROM [入库单$]";
     45                 using (OleDbConnection myConn = new OleDbConnection(strCon))
     46                 using (OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn))
     47                 {
     48                     myConn.Open();
     49                     myCommand.Fill(ds);
     50                 }
     51                 if (ds == null || ds.Tables.Count <= 0)
     52                 {
     53                     context.Response.Write("0");
     54                 }
     55                 else
     56                 {
     57                     List<ImportHCDR> lst = new List<ImportHCDR>();
     58 
     59 
     60                     if (ds.Tables[0].Rows.Count > 0)
     61                     {
     62 
     63                         for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
     64                         {
     65                             ImportHCDR mod = new ImportHCDR();
     66 
     67 
     68 
     69 
     70                             if (ds.Tables[0].Rows[i]["高值耗材名称"] == null)
     71                             {
     72                                 resultData.Msg = "高值耗材名称不能为空,请修改后再导入";
     73                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
     74                                 return;
     75 
     76                             }
     77                             if (ds.Tables[0].Rows[i]["高值耗材名称"] != null)
     78                             {
     79                                 string hcbh = ds.Tables[0].Rows[i]["高值耗材名称"] + "";
     80                                 if (string.IsNullOrEmpty(hcbh))
     81                                 {
     82                                     resultData.Msg = "高值耗材名称不能为空,请修改后再导入";
     83                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
     84                                     return;
     85 
     86                                 }
     87                                 mod.SBMC = hcbh;
     88                             }
     89                             //供应商
     90                             if (ds.Tables[0].Rows[0]["供应商"] == null || ds.Tables[0].Rows[0]["供应商"].ToString() == "")
     91                             {
     92                                 resultData.Msg = "请在第二行第一列填写供应商名称!";
     93                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
     94                                 return;
     95                             }
     96 
     97                             string GysName = ds.Tables[0].Rows[0]["供应商"] + "";
     98                             DataTable GetGysBH = cgrk.GetGYSBH(GysName);
     99                             if (GetGysBH.Rows.Count <= 0)
    100                             {
    101                                 resultData.Msg = "请核对供应商是否存在!";
    102                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    103                                 return;
    104                             }
    105                             string gys = GetGysBH.Rows[0]["BH"].ToString();//供应商编号
    106                             mod.GysName = GetGysBH.Rows[0]["MC"].ToString();//供应商名称
    107 
    108 
    109                             //科室
    110                             if (ds.Tables[0].Rows[0]["科室"] != null)
    111                             {
    112                                 mod.KsName = ds.Tables[0].Rows[0]["科室"] + "";
    113                                 DataTable GetKSBH = cgrk.GetKSBH(mod.KsName);                                                                                                   
    114                                 if (GetKSBH.Rows.Count <= 0)
    115                                 {
    116                                     resultData.Msg = "请正确填写科室!";
    117                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
    118                                     return;
    119                                 }
    120                                 mod.KsBH = GetKSBH.Rows[0]["BH"].ToString();
    121                             }
    122 
    123 
    124                             DataTable dt = cgrk.GetGZHCByGYS(gys, mod.SBMC);
    125                             if (dt.Rows.Count <= 0)
    126                             {
    127                                 resultData.Msg = "请核对高值耗材名称是否存在或删除不存在的耗材";
    128                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    129                                 return;
    130 
    131                             }
    132                             //判断注册证是否存在
    133                             if (dt.Rows[0]["SCQY"] == null || dt.Rows[0]["SCQY"].ToString() == "") {
    134                                 resultData.Msg = "该耗材: "+ mod.SBMC + " 注册证不存在,请清除再导入!";
    135                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    136                                 return;
    137                             }
    138 
    139 
    140 
    141                             //}
    142 
    143 
    144                             //耗材编号
    145                             mod.SBMCBH = dt.Rows[0]["SBMCBH"] != null ? dt.Rows[0]["SBMCBH"].ToString() : "";
    146                             //规格型号
    147                             mod.GGXH = dt.Rows[0]["SBGG"] != null ? dt.Rows[0]["SBGG"].ToString() : "";
    148                             //单位
    149                             mod.DW = dt.Rows[0]["SBDW"] != null ? dt.Rows[0]["SBDW"].ToString() : "";
    150                             //生产厂家
    151                             mod.SCCJMC = dt.Rows[0]["MC"] != null ? dt.Rows[0]["MC"].ToString() : "";
    152                             //生产企业
    153                             mod.SCCJ = dt.Rows[0]["SCQY"] != null ? dt.Rows[0]["SCQY"].ToString() : "";
    154                             //供应商
    155                             mod.SUPPLIER = gys;
    156                             //
    157                             mod.ISSM = "0"; //0表示普通添加明细
    158                             if (ds.Tables[0].Rows[i]["数量"] != null)
    159                             {
    160                                 string shuliang = ds.Tables[0].Rows[i]["数量"] + "";
    161                                 if (long.Parse(shuliang) <= 0)
    162                                 {
    163                                     resultData.Msg = "数量不能为0或为负数";
    164                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
    165                                     return;
    166 
    167                                 }
    168                                 else if (long.Parse(shuliang) > 100)
    169                                 {
    170                                     resultData.Msg = "数量最大为100";
    171                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
    172                                     return;
    173                                 }
    174                                 mod.BHSL = shuliang;
    175                             }
    176                             else
    177                             {
    178                                 resultData.Msg = "请填写数量";
    179                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    180                                 return;
    181                             }
    182 
    183 
    184                             if (ds.Tables[0].Rows[i]["条码数量"] != null)
    185                             {
    186                                 string shuliang = ds.Tables[0].Rows[i]["条码数量"] + "";
    187                                 if (long.Parse(shuliang) <= 0)
    188                                 {
    189                                     resultData.Msg = "条码数量不能为0";
    190                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
    191                                     return;
    192 
    193                                 }
    194                                 mod.TMSL = shuliang;
    195                             }
    196                             else if (ds.Tables[0].Rows[i]["条码数量"] == null)
    197                             {
    198                                 mod.TMSL = mod.BHSL;//默认和数量一致
    199                             }
    200 
    201 
    202 
    203                             if (ds.Tables[0].Rows[i]["采购单价"] != null)
    204                             {
    205                                 string dj = ds.Tables[0].Rows[i]["采购单价"] + "";
    206                                 if (long.Parse(dj) < 0)
    207                                 {
    208                                     resultData.Msg = "采购单价不能小于0";
    209                                     context.Response.Write(JsonConvert.SerializeObject(resultData));
    210                                     return;
    211 
    212                                 }
    213                                 mod.CGDJ = dj;
    214                             }
    215                             else if (ds.Tables[0].Rows[i]["采购单价"] == null)
    216                             {
    217                                 resultData.Msg = "采购单价不能为空";
    218                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    219                                 return;
    220                             }
    221 
    222 
    223 
    224 
    225                             if (ds.Tables[0].Rows[i]["批号"] != null)
    226                             {
    227                                 string PH = ds.Tables[0].Rows[i]["批号"] + "";
    228                                 mod.PH = PH;
    229                             }
    230                             else if (ds.Tables[0].Rows[i]["批号"] == null)
    231                             {
    232                                 resultData.Msg = "批号必填";
    233                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    234                                 return;
    235                             }
    236 
    237 
    238 
    239                             string nna = ds.Tables[0].Rows[i]["是否含次条码"].ToString();
    240                             if (nna == "Y" || nna == "N")
    241                             {
    242                                 string Barcode = ds.Tables[0].Rows[i]["是否含次条码"] + "";
    243 
    244                                 if (Barcode == "Y")
    245                                 {
    246                                     if (ds.Tables[0].Rows[i]["次条码"] != null)
    247                                     {
    248                                         string CTMH = ds.Tables[0].Rows[i]["次条码"] + "";
    249                                         mod.CTMH = CTMH;
    250                                     }
    251                                     else
    252                                     {
    253                                         resultData.Msg = "请修改是否含有次条码为N 或者 填写次条码";
    254                                         context.Response.Write(JsonConvert.SerializeObject(resultData));
    255                                         return;
    256                                     }
    257                                 }
    258                                 else if (Barcode == "N")
    259                                 {
    260                                     mod.CTMH = null;
    261                                 }
    262                                 mod.Barcode = Barcode;
    263                             }
    264                             else if (ds.Tables[0].Rows[i]["是否含次条码"] == null || ds.Tables[0].Rows[i]["是否含次条码"] + "" == "")
    265                             {
    266                                 mod.Barcode = "Y";
    267 
    268                             }
    269                             else
    270                             {
    271                                 resultData.Msg = "是否含次条码请按需求填写";
    272                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    273                                 return;
    274                             }
    275 
    276 
    277 
    278 
    279 
    280 
    281 
    282 
    283 
    284 
    285 
    286                             if (ds.Tables[0].Rows[i]["包装合格"].ToString() == "Y" || ds.Tables[0].Rows[i]["包装合格"].ToString() == "N")
    287                             {
    288 
    289                                 string BZHG = ds.Tables[0].Rows[i]["包装合格"] + "";
    290                                 mod.BZHG = BZHG;
    291                                 if (BZHG == "Y")                                
    292                                     mod.BZHGMC = "";                              
    293                                 else                               
    294                                     mod.BZHGMC = "";                               
    295 
    296                             }
    297                             else if (ds.Tables[0].Rows[i]["包装合格"] == null || ds.Tables[0].Rows[i]["包装合格"] + "" == "")
    298                             {
    299                                 mod.BZHG = "Y";
    300                                 mod.BZHGMC = "";
    301                             }
    302                             else
    303                             {
    304                                 resultData.Msg = "包装合格请按需求填写";
    305                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    306                                 return;
    307                             }
    308 
    309 
    310 
    311                             if (ds.Tables[0].Rows[i]["验收合格"].ToString() == "Y" || ds.Tables[0].Rows[i]["验收合格"].ToString() == "N")
    312                             {
    313                                 string YSHG = ds.Tables[0].Rows[i]["验收合格"] + "";
    314                                 mod.YSHG = YSHG;
    315                                 if (YSHG == "Y")
    316                                     mod.YSHGMC = "";
    317                                 else
    318                                     mod.YSHGMC = "";
    319 
    320                             }
    321                             else if (ds.Tables[0].Rows[i]["验收合格"] == null || ds.Tables[0].Rows[i]["验收合格"] + "" == "")
    322                             {
    323                                 mod.YSHG = "Y";
    324                                 mod.YSHGMC = "";
    325                             }
    326                             else
    327                             {
    328                                 resultData.Msg = "验收合格请按需求填写";
    329                                 context.Response.Write(JsonConvert.SerializeObject(resultData));
    330                                 return;
    331                             }
    332 
    333 
    334 
    335                             mod.MJPH= ds.Tables[0].Rows[i]["灭菌批号"].ToString();
    336                             mod.ZTMH = ds.Tables[0].Rows[i]["主条码"].ToString();
    337                             mod.CCBH= ds.Tables[0].Rows[i]["出厂编号"].ToString();
    338 
    339                             mod.JE = (Convert.ToInt32(mod.CGDJ) * Convert.ToInt32(mod.BHSL)).ToString();
    340 
    341 
    342                             if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i]["有效期"] + ""))
    343                             {
    344                                 mod.YXQ = Convert.ToDateTime(ds.Tables[0].Rows[i]["有效期"] + "").ToString("yyyy-MM-dd");
    345                             }
    346                             if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i]["生产日期"] + ""))
    347                             {
    348                                 mod.SCRQ = Convert.ToDateTime(ds.Tables[0].Rows[i]["生产日期"] + "").ToString("yyyy-MM-dd");
    349                             }
    350                             
    362                             lst.Add(mod);
    363                         }
    364                         resultData.Msg = "";
    365                         resultData.Data = lst;
    366                         context.Response.Write(JsonConvert.SerializeObject(resultData));
    367                         return;
    368 
    369 
    370                     }
    371                     else
    372                     {
    373                         resultData.Msg = "表格里没有数据,无需导入";
    374                         context.Response.Write(JsonConvert.SerializeObject(resultData));
    375                         return;
    376 
    377                     }
    378                 }
    379 
    380 
    381             }
    382         }
    383 
    384 
    385 
    386 
    387 
    388         public bool IsReusable
    389         {
    390             get
    391             {
    392                 return false;
    393             }
    394         }
    395     }
    396 
    397 
    398     public class ImportHCDR
    399     {
    400         public string BHSL { get; set; }
    401         public string BZHG { get; set; }
    402         public string Barcode { get; set; }
    403         public string CGDJ { get; set; }
    404         public string CTMH { get; set; }
    405         public string DW { get; set; }
    406         public string GGXH { get; set; }
    407         public string ISSM { get; set; }
    408         public string PH { get; set; }
    409         public string SBMC { get; set; }
    410         public string SBMCBH { get; set; }
    411         public string SCCJ { get; set; }
    412         public string SCCJMC { get; set; }
    413         public string TMSL { get; set; }
    414         public string YSHG { get; set; }
    415         public string SUPPLIER { get; set; } 
    416         public string JE { get; set; }
    417         public string KsBH { get; set; }
    418         public string GysName { get; set; }
    419         public string KsName { get; set; }
    420         public string YSHGMC { get; set; }
    421         public string BZHGMC { get; set; }
    422         public string ZTMH { get; set; }
    423         public string MJPH { get; set; }
    424         public string CCBH { get; set; }
    425         public string YXQ { get; set; }
    426         public string SCRQ { get; set; }
    427 
    428 
    429     }
    430 
    431     public class ResultData
    432     {
    433         public string Msg { get; set; }
    434         public List<ImportHCDR> Data { get; set; }
    435     }
  • 相关阅读:
    Linux安装jdk
    VUE和Element:Vue和Element基础使用,综合案例学生列表实现
    jQuery-css(border)样式内容火狐无法获取而谷歌可以获取问题问题
    Ajax:原生js实现Ajax,jQuery的get/post方式实现Ajax,jQuery的通用方式实现Ajax;JSON转换;搜索联想;瀑布流分页,点击按钮分页
    常用正则表达式大全,如何写出高效率的正则表达式?
    JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片
    操作系统的一些概念题(1)
    谓词逻辑与归结原理的一些概念题
    模拟退火 Simulated annealing
    遗传算法Genetic Algorithm
  • 原文地址:https://www.cnblogs.com/Apex233/p/6873091.html
Copyright © 2011-2022 走看看