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

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

使用JS/Jquery获得父窗口的几个方法(笔记)

<pre name="code" class="javascript">取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);如题: $(selector, window.top.document);//获得顶级窗口里面的元素 $(

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

js异步提交form表单的解决方案

1.定义异步提交表单的方法 (通用方法) /*** 异步提交form表单* @param options {form:form表单元素,success:执行成功后处理函数}* <span style="color:#ff0000;"><strong>@注意 后台接收参数要解码否则中文会导致乱码 如:URLDecoder.decode(param,"UTF-8")</strong></span>

js react 笔记 2

起因, 目的: 记录一些 js, react, css 1. 生成一个随机的 uuid // 需要先安装 crypto 模块const { randomUUID } = require('crypto');const uuid = randomUUID();console.log(uuid); // 输出类似 '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图