本文主要是介绍JS IE浏览器Excel导出与导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
IE浏览器:Excel导出示例
$("#ExportXls").click(function(){//当IE浏览器时if(!!window.ActiveXObject || "ActiveXObject" in window){var dgRows=$("#PatList").datagrid('getRows');if (dgRows<1){layer.msg("无可导出的数据!",{icon:2,anim:6});return;} $.messager.progress({title: "提示",msg: "正在导出数据",text: "导出中....",iconCls:"icon-export"});$.cm({ClassName:"wcw.cls.Query",QueryName:"getPatInfo",},function(data){var myRows=data.rows; //数据var myLength=myRows.length;if (myLength>0){$.messager.progress("close");//实例化Excel App对象var xlsApp=new ActiveXObject("Excel.Application"); xlsApp.visible=true; //设置excel为可见//添加Workbooksvar xlsBook=xlsApp.Workbooks.Add;//得到Worksheetsvar xlsSheet=xlsBook.Worksheets(1);//定义表头var codeArray=["PatName","AdmReason","RegNo","EpisodeID","PersonNo"];var deseArray=["姓名","费别","登记号","就诊ID","身份证号"];var columnWidth=[9,15,12,11,20];//设置表头及其宽度for (j=0;j<deseArray.length;j++){xlsSheet.Columns(j+1).ColumnWidth=columnWidth[j];xlsSheet.Cells(1,j+1)=deseArray[j];}//设置单元格数据for (i=0;i<myLength;i++){for (j=0;j<codeArray.length;j++){var myCode=codeArray[j];xlsSheet.Cells(i+2,j+1)=myRows[i][myCode];}}xlsApp.ActiveWindow.Zoom=100; //预览缩放比例xlsApp.UserControl=true; //很重要,不能省略,不然可能会出问题,意思是excel交由用户控制//关闭xlsApp=null;xlsBook=null;xlsSheet=null;}}); }
});
IE浏览器:Excel导入示例
很多插件兼容IE导出,但不兼容IE导入,故此提供如下IE导入示例。
//使用Layui上传组件进行导入
layui.upload.render({elem: "#importXls2",url: "",auto: false,accept: "file",acceptMime: "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",exts: "xls|xlsx",choose: function(chooseObj){//当IE浏览器时if(!!window.ActiveXObject || "ActiveXObject" in window){//Excel导入//通过隐藏的Input file获取选择的文件完整路径var FileWindowDiv=$("<div id='FileWindowDiv' class='FileWindow' style='display:none'></div>");$("body").append(FileWindowDiv);var FileWindow=$("<input id='FileWindow' type='file'/>");$("#FileWindowDiv").append(FileWindow); $("#FileWindow").on('change', function (e) {//得到所选文件完整路径var FilePath=$('#FileWindow').val();FilePath=FilePath.replace("fakepath\\","")console.log(FilePath);//实例化Excel Appvar xlsApp=new ActiveXObject("Excel.Application");//通过Workbooks打开Excelvar xlsBook=xlsApp.Workbooks.open(FilePath);//得到Sheet表xlsBook.Worksheets(1).select(); var xlsSheet=xlsBook.ActiveSheet;var rows=xlsSheet.usedrange.rows.count; //行数var cols=xlsSheet.usedRange.columns.count; //列数//数据放入JSON对象数组。注意xlsSheet索引从1开始var dataArr=[];for (var i=2;i<=rows;i++){var jsonObj={}for (var j=1;j<=cols;j++){switch (j){case 1: //第1列赋值jsonObj.REA_RowId=xlsSheet.Cells(i,j).text;break;case 2: //第2列赋值jsonObj.REA_Desc=xlsSheet.Cells(i,j).text;break;}}dataArr.push(jsonObj);}//得到所有待导入的数据,可在此调用后台方法批量插入数据console.log(JSON.stringify(dataArr));});$(".FileWindow input").click();return;}}
});
这篇关于JS IE浏览器Excel导出与导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!