JS IE浏览器Excel导出与导入

2024-09-03 18:52
文章标签 excel js 导出 浏览器 导入 ie

本文主要是介绍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导出与导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133755

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC