js导出表格数据
考虑到浏览器兼容性问题,采用原生js和后台交互下载网页数据
js:
var table = $('.table-panel table');
// Header
var tdData ="";
$(table).find('thead').find('tr').each(function() {
$(this).find('th').each(function() {
tdData += '"' + $(this).text() + '",';
});
tdData = $.trim(tdData).substring(0, tdData.length -1);
tdData += "\r\n";
});
// Row vs Column
$(table).find('tbody').find('tr').each(function() {
$(this).find('td').each(function(index,data) {
tdData += '"'+ $(this).text() + '",';
});
tdData = $.trim(tdData).substring(0, tdData.length -1);
tdData += "\r\n";
});
var form=$("<form>");//定义一个form表单
form.attr("style","display:none");
form.attr("target","");
form.attr("method","post");
form.attr("action","/api/data/exportCSV");
var input1=$("<input>");
input1.attr("type","hidden");
input1.attr("name","exportData");
input1.attr("value",tdData);
$("body").append(form);//将表单放置在web中
form.append(input1);
form.submit();//表单提交
PHP:
public function exportCSV() {
$exportData = $_POST['exportData'];
$exportData = iconv("UTF-8", "GB18030//IGNORE", $exportData);
// open raw memory as file so no temp files needed, you might run out of memory though
$f = fopen('php://output', 'w');
fwrite($f, $exportData);
// tell the browser it's going to be a csv file
header('Content-Type: application/csv');
// tell the browser we want to save it instead of displaying it
header('Content-Disposition: attachment; filename="exportData.csv";');
}
js导出表格数据的更多相关文章
- 导出表格数据到excel并下载(HSSFWorkbook版)
这里主要前面是通过一个全局变量,在layui的done回调里拿到数据,然后将该数据导出到excel,这里要注意一点,下载excel不能用ajax方式,如果采用ajax下载默认会读取response返回 ...
- 原生javaScript导出表格数据
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- php JS 导出表格特殊处理
但是这样导出身份证号会变为科学计数: 解决方法就是: 我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mi ...
- JS导出网页数据到EXCEL
想得到的效果是,在网页上点击导出按钮,弹出文件保存框,输入文件名并选择路径后保存.可能是由于浏览器的安全机制,一直没能找到合适的解决方案,就采用了其它的一些替代方案. 思路是:后台一般处理程序查询数据 ...
- 【js】js导出表格到excel
js: function method(tableid) //读取表格中每个单元到EXCEL中 { var curTbl = document.getElementById(tableid); var ...
- ajax导出表格数据失败的几处坑
$.ajax({ type:'POST', async:false, url:'/export', data:params, dataType:'json', ... success:function ...
- layui 导出表格数据
第一种方法没试过,有机会要试试.
- Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"
Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...
- js导出excel增加表头、mso-number-format定义数据格式
问题1:增加表头 js导出表格时,只会导出table里的展现出的内容,如需增加表头等内容需要在页面获取的字符串中拼接表头的相关字符串,详细介绍如下: tableString:新增的表头内容字符串: c ...
随机推荐
- AC日记——约瑟夫问题 codevs 1282
1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 有编号从1到N的N个小 ...
- 一分钟搞定AlloyTouch图片轮播
一分钟搞定AlloyTouch图片轮播 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹.除了一般的竖向滚动,A ...
- ubuntu 14.04 ns2.35 ***buffer overflow detected **: ns terminated解决办法
1.按照如下教程安装 Install With Me !: How to Install NS-2.35 in Ubuntu-13.10 / 14.04 (in 4 easy steps) 2.运行一 ...
- Zip加密
http://www.cnblogs.com/kgdxpr/archive/2013/08/01/3230174.html
- webconfig中配置各种数据库的连接字符串(转)
一.在appSettings配置 <appSettings> <!--SQL Server--> <!--<add key="SQLString&qu ...
- J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别
转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...
- OrchardNoCMS模块生成工具命令简化
OrchardNoCMS模块生成工具命令行简化列表: 目前只有codegen feature和cultures三个命令. 对应的都进行了参数简化. 例如:codegen module 简化为cod ...
- HTML编写需要注意的事项
HTML在编写过程中需要注意许多关键的事项,就如最近我在学习中遇到的问题如下: 代码规范问题: 在代码视图中编写代码,一定要规范的格式,不要把代码全部都写到一块,这样不仅影响效率,更加影响视觉,当出现 ...
- 解决Xamarin Android墙的问题
Xamarin Android项目在编译时会从google的服务器下载缺失的m2repository相关文件,虽然不明白这是干什么的,但是情况就是Andorid SDK Manager不会去下载这个东 ...
- 编译安装apache
1.安装依赖库:“Development Tools” “Server Platform Development” pcre-devel 2.安装apr,apr-util 从yum源安装或去ap ...