Excel導入:
頁面創建導入按鈕,如:
代碼:
<button class="layui-btn layui-btn-small layui-btn-primary ajax-all fun_UPLOAD_" id="upload" onclick="upload()"> <i class="iconfont icon-daoru"></i>導入交易 </button>
JS:
function upload(){ layer.open({ type : 2, //層類型 title :'導入文件', //標題 shadeClose : true, //是否點擊遮罩關閉 shade : [ 0.4, '#000' ], //遮罩 maxmin : false, //開啟最大化最小化按鈕 area : [ '460px', '350px' ], //設置寬高 offset : '5px', //坐標,默認:垂直水平居中 moveout : true, //是否允許拖拽到窗口外 content : "" //iframe的url //內容這里是路徑 }) }
可以將上傳文件放入form表單中,上傳文件框用input框的file類型,如:
<input type="file" name="excelFile" id="file" lay-type="file" class="layui-upload-file" onchange="upfile.value=this.value">
點擊確定時submit提交表單,js如下所示:
function submit(){ //提交前校驗 if(!checkDate()){ return; } //定義並開啟上傳時讀取效果 var msgIndex = layer.load(1, { shade: [0.4,'#def'], //0.4透明度的白色背景 icon : '' }); //上傳 $("#addMore").ajaxSubmit({ type : "post", url : Const.apiUrl + "", //上傳路徑 dataType : "json", success : function(resp){ layer.close(msgIndex);//關閉效果 if(resp.code == 200){ layer.open({ area: ['40%', '60%'], title: '導入文件', content: '成功導入信息'+resp.data+'條', btn : ['確定'], yes : function(index, layero) { layer.closeAll(); } }); }else{ layer.msg("導入失敗!"); } }, error : function(code) { layer.close(msgIndex); layer.msg("服務器錯誤,導入失敗!"); } }); } function checkDate(){ //獲取上傳的文件路徑 var fileName = $("#file").val(); //獲取上傳的文件名 var fName = fileName.substring(fileName.lastIndexOf("\\")+1,fileName.lastIndexOf(".")); //獲取上傳的文件后綴 var fType = fileName.substr(fileName.lastIndexOf(".")); //判斷有沒有文件 if(fName == ""){ layer.msg("請選擇需要導入的.xls或者.xlsx文件!"); return false; } //判斷文件格式是否正確 if(!fType || fType.toLowerCase()!=".xls" && fType.toLowerCase()!=".xlsx"){ layer.msg("請選擇.xls或者.xlsx格式的文件導入!"); return false; } return true; }
以上為前端頁面代碼,后端代碼可參考:
https://www.cnblogs.com/Big-Boss/p/10007807.html
https://blog.csdn.net/u011278387/article/details/50839034
https://blog.csdn.net/u012012240/article/details/53929141
https://www.cnblogs.com/GoForMyDream/p/5912737.html