开发工具与关键技术:后端
作者:汪利燕
撰写时间:2019年5月2日
哎呀呀,今天给大家写一个Excel表格数据的导入和导出他们是怎么实现的,下面你们要睁大眼睛看了喔。
(导入、导出的按钮效果图如下)
Excel表格数据导入、导出
第一个:批量导出考生数据
第一步:先给批量导出考生按钮写一个点击事件
(批量导出考生按钮onclick:ImportStuExcel)

 function ImportStuExcel() {           
  var AcademeID = $("#sltAcademe").val();           
  var GradeID = $("#sltGrade").val();           
  var ClassID = $("#sltClass").val();           
  if ((GradeID == "" || GradeID == null)) {GradeID = 0;}         
  if ((ClassID == "" || ClassID == null)) {ClassID = 0;}           
  if (AcademeID == 0) {              
     layer.confirm("是否导出全校数据?若不需要请筛选数据", { icon: 3, title: '提示' }, function (index) {                 
     layer.close(index);               
       window.open("ExportExamineeByID?AcademeID=" + AcademeID + "&GradeID=" + GradeID + "&ClassID=" + ClassID);              
      });           
   } else {     
    window.open("ExportExamineeByID?AcademeID=" + AcademeID + "&GradeID=" + GradeID + "&ClassID=" + ClassID);          
  }   
}

Excel表格数据导入、导出
如果没有选择学院、年级、班级信息的话,它会弹出提示框:是否要导出全校的数据,如果是就导出全校数据出来,取消就没有。
Excel表格数据导入、导出
如果有选择学院、班级、年级信息,按批量导出考生按钮直接导出到Excel表格里面了,左下角那里有个考生信息就是导出的数据,点击下面那里它就可以看到数据(数据图如***:有些人的是直接弹出Excel表格的,我的是在左下角。
Excel表格数据导入、导出
第二个:批量导入考生数据
第一步:先给批量导入考生按钮写一个点击事件
(批量导出考生按钮onclick:openExcelModel)

function openExcelModel() {         
      $("#frmExcelData input[type='reset']").click();            
      $("#modExcelData").modal();  
    }

点击事件写完了(效果图如下)
Excel表格数据导入、导出
没有看图片是不是觉得代码有点问题怎么那么少(哈哈)。
只是按钮的一个点击事件,重点是点开之后,选择文件、下载Excel导入模板、导入到数据库
第二步:选择Excel文件按钮值改变事件
(选择Excel文件按钮onchange:upExcel)

 function upExcel() {            
  var formData = new
  FormData(document.getElementById("frmExcelData"));           
  var xhr;           
   if (window.XMLHttpRequest) {               
      // code for IE7+, Firefox, Chrome, Opera, Safari              
      xhr = new XMLHttpRequest();         
 } else {           
        // code for IE6, IE5               
        xhr = new ActiveXObject("Microsoft.XMLHTTP");         
      }        
         xhr.open("POST", "ImportExcel");           
         xhr.send(formData);           
         xhr.onreadystatechange = function () {            
             if (xhr.readyState == 4 && xhr.status == 200) {                 
               if (xhr.responseText) {                      
                    TabStuExcel = layuiTable.reload("tabStuExcel", {                       
                    url: "SelectImportStudent"               
                   });        
               }  
            }         
         }    
      }

Excel表格数据导入、导出
刚开始是无数据的,点击选择文件弹出一个文件夹,点击文件夹打开数据就会有数据出现。(数据出现如下图)
Excel表格数据导入、导出
数据出来可以点击下载Excel导入模板或者导入到数据库。
第三步:下载Excel导入模板按钮值改变事件
(下载Excel导入模板按钮id:ImportDemo)
$("#ImportDemo").click(function () { window.open(“DownloadTemplet?”); });
Excel表格数据导入、导出
Excel表格数据导入、导出
数据直接就导入过来了。
第三步:导入到数据库中
(导入到数据库中id:ImportDatabase)

 $("#ImportDatabase").click(function () {           
    var trs = $(".modal-content .layui-table-body tr");            
    console.log(trs);           
 if (trs.length > 0) {               
    var layerIndex = layer.load(0);//显示加载层              
  $.ajax({                    
       type: "POST",                   
       url: "InsertImportStudent",                   
       dataType: "json",                    
       success: function (message) {                       
           layer.close(layerIndex);//关闭加载层                       
           layer.msg(message.Text, { icon: 0, skin: "layui-layer-molv" });                        
           tabStudentSearch();                       
           $("#modExcelData").modal('hide');                    
          }               
       });           
    } else {              
      layer.msg("没有符合要求的数据。", { icon: 0, skin: "layui-layer-molv" });           
    }          
     console.log(trs);     
 });

Excel表格数据导入、导出
我之前已经导入过这4条数据到数据库里面去了,所以弹出提示框显示:导入4条数据,存在的数据有4条,成功保存0条数据到数据库。
如果是导入新数据库到数据库,弹出提示框:导入n条数据,存在的数据有n条,成功保存n条数据到数据库。控制器的内容太多了所以删减,如有需要可以留言私发。

相关文章:

  • 2022-12-23
  • 2022-02-02
  • 2021-11-08
猜你喜欢
  • 2021-09-06
  • 2022-02-14
  • 2022-02-23
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
相关资源
相似解决方案