想得到的效果是,在网页上点击导出按钮,弹出文件保存框,输入文件名并选择路径后保存。可能是由于浏览器的安全机制,一直没能找到合适的解决方案,就采用了其它的一些替代方案。

思路是:后台一般处理程序查询数据库在服务器上生成excel文件,再将文件路径传递给前台,前台生成下载链接

由于ActiveX只有IE支持,不能以ActiveXObject方式打开excel文件,可以在前台可以通过a标签来生成下载链接,也可以直接跳转url或下载文件

 //导出数据
function exportexcel(postdata) {
$.ajax({
url: "../Handler/ExportExcelHandler.ashx",
type: "POST",
dataType: "TEXT",
data: postdata,
success: function (responsedata) {
var url = '../export/' + responsedata;
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("导出失败:" + textStatus);
}
});
}

还有一种方法是使用window.open()方法,但是会被多数浏览器拦截,因此不推荐使用

JS导出网页数据到EXCEL的更多相关文章

  1. js导出table中的EXCEL总结

    导出EXCEL通常是用PHP做,可是项目中,有时候PHP后端project师返回的数据不是我们想要的,作为前端开发project师,把相应的数据编号转换为文字后,展示给用户.可是.需求要把数据同一时候 ...

  2. PHP导出MySQL数据到Excel文件

    PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存 ...

  3. 用js采集网页数据并插入数据库最快的方法

    今天教大家一个快速采集网站数据的方法,因为太晚了,直接上例子,这里以采集易车网的产品数据为例. 思路:利用js获取网页数据并生成sql命令,执行sql命令把采集的数据插入数据库. 1.用谷歌浏览器或者 ...

  4. .NET使用Office Open XML导出大量数据到 Excel

    我相信很多人在做项目的都碰到过Excel数据导出的需求,我从最开始使用最原始的HTML拼接(将需要导出的数据拼接成TABLE标签)到后来happy的使用开源的NPOI, EPPlus等开源组件导出EX ...

  5. Python:将爬取的网页数据写入Excel文件中

    Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...

  6. Django+python实现网页数据的excel导出

    一直都想做一个网页的excel导出功能,最近抽时间研究了下,使用urllib2与BeautifulSoup及xlwt模块实现 urllib2这个模块之前有用过,关于BeautifulSoup模块,可参 ...

  7. js导出表格数据

    考虑到浏览器兼容性问题,采用原生js和后台交互下载网页数据 js: var table = $('.table-panel table'); // Header var tdData ="& ...

  8. 导出数据库数据制成Excel和txt

    引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...

  9. java 对excel操作 读取、写入、修改数据;导出数据库数据到excel

    ============前提加入jar包jxl.jar========================= // 从数据库导出数据到excel public List<Xskh> outPu ...

随机推荐

  1. Unity3D的断点调试功能

    断点调试功能可谓是程序员必备的功能了.Unity3D支持编写js和c#脚本,但很多人可能不知道,其实Unity3D也能对程序进行断点调 试的.不过这个断点调试功能只限于使用Unity3D自带的Mono ...

  2. uva-188-枚举

    题意:直接模拟 注意,w[i]不能是0 #include <string> #include<iostream> #include<map> #include< ...

  3. jupyter notebook 小笔记

    安装直接按这个步骤了: https://hub.mybinder.org/user/ipython-ipython-in-depth-xj8fraz8/notebooks/binder/Index.i ...

  4. mac 管理员权限变成了普通权限处理方法

    在更换账户名称的时候出了这个问题.设置的时候不会显示用户名,没有电脑的管理权限了,找到如下方法解决的,试了可行. http://blog.csdn.net/vickylizy/article/deta ...

  5. linux 文件目录类的指令 包含查找

    pwd  :显示当前目录的绝对路径 ls : 显示当前目录 -a 显示所有文件 包括隐藏文件 -l  以列表的方式进行显示 cd  切换目录 cd ~ :返回家目录 cd .. :返回上一级的目录 m ...

  6. HashMap.put()和get()原理

    /** * Returns the value to which the specified key is mapped, * or if this map contains no mapping f ...

  7. 后台设计的基石:用户权限管理(RBAC)及工作流(workflow)模型

    后台产品同学在设计后台时,会发现一般后台的各个功能模块总结起来有两大类型:功能类.流程类.在设计功能或流程前都需要预判不同的使用角色对应不同权限,设计流程前则还得思考最基本的工作流原理. 用户权限是设 ...

  8. 腾讯云Linux VPS新硬盘分区与挂载教程(面板重装不丢失数据)

    以腾讯云Centos系统服务器为例,小记的是数据盘不在本地,大小为20G,以下的教程来自小夕博客的一篇相关添加教程的修改,适合腾讯云Linux Centos系统.说明:参数也许不对,我没有截图了,但所 ...

  9. binlog开启和查看

    1. 首先需要将mysql的binlog日志打开.默认是关闭的. 参考网址:Windows下Mysql5.7开启binlog步骤及注意事项(https://www.cnblogs.com/wangwu ...

  10. Tcp连接的七次握手浅析

    LINUX 查看tcp连接数及状态 # netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 8 ...