扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以用javascript的文件相关的函数,我忘记具体怎么做了(曾经做过,不难。),只有大体思路。javascript(网页)操作本地文件是要有个许可的,一般在浏览器的安全选项卡里面要设置一下。用生成一个对象,这个对象关联到excel对象(要求客户端必须装excel)。然后写excel表格的单元格等等。到网上搜索一下javascript操作excel就会有的。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了海棠免费建站欢迎大家使用!
你好!
exclude_inputs 这个属性设置的是: 是否导出输入框中的内容.
也就是说为true才是导出输入框中的内容.
$("#btn").click(function () { //点击按钮执行导出
$(".table tr").each(function(i, _tr){//循环表格的行
var tds = $(_tr).find("td");//得到每行的所有列
tds.each(function(j, _td){//循环每列
var _ipt = $(_td).find("input");//查找每列当中的INPUT控件
var hasInput = (_ipt.length0)?1:0;
if(hasInput) {
//console.log('第'+(i+1)+'行'+(j+1)+'列含有INPUT控件');
_ipt.attr("value", _ipt.val());//如果有INPUT控件就给它设置value值
}
});
});
$(".table").table2excel({ //选取导出的表格
filename: "项目", //导出的文件名
exclude_img: true, //是否导出图片
exclude_links: true,
exclude_inputs: true
});
})
代码不复杂,看看注释就好了。
为什么要这么复杂的设置INPUT控件的value值,因为table2excel.js的源码当中是获取INPUT的value属性值,
但它得到的并不是动态赋值后的value值,所以你的数据无法导出到excel当中.
当然这种做法只是一种解决方案,最好结合你的实际情况去使用,修改源码当然也可以.
建议以后遇到类似这种问题,最好先看下源码,了解下它的执行逻辑,原理.
希望对你有帮助!
本次导出还是使用之前freemarker模板导出word,这次出现手机端打不开是因为手机上的wps版本比较低,因为亲测ios和安卓系统都能打开,但是wps10版本的打开是源码或者乱码,所以找到了两种解决方案可以在低版本wps和microsoft office的手机上打开。因为是省厅内网,手机上的应用是统一管理的,就当与内网里面有个应用市场,不是你说更新就更新,而且要提交一大串的申请。先看之前的两种方式导出word:1.freemarker模板导出word循环图片表格详细教程这个可以电脑端 ios和安卓高版本的wps打开。2.freemarker模板导出带表格word详细教程这个可以在电脑端和ios打开,安卓手机不管什么wps版本打开都乱码。解决思路:其实上述的方法最终并不是纯正的word,只是xml格式的word文档,咱们需要吧生成后的文档转换成真正的word格式,才能在老版本的wpsh和microsoft office等应用打开。解决办法还是有好几种的。解决办法:一:利用jacob动态链接库进行转存,此方法只适用于winodws,不适用Linux。
兼容性好点就发送内容到服务器,又服务器处理,设置"Content-Disposition"响应头"attachment;filename=\"xxx.csv\"")
要不就只能IE浏览器下的document.execCommand('SaveAs', 'xxx.csv');了,兼容性不是很好,而且好像指定的文件名和后缀没效果。。
div id="dv"
table
tr
th
tabletrth/thth/thth/th/tr/table
/th
th
tabletrth/thth/thth/th/tr/table
/th
th
tabletrth/thth/thth/th/tr/table
/th
/tr
/table
/div
iframe id="ifr" style="position:absolute;left:-999px;top:-999px;" src="javascript:void(0)"/iframe
script type="text/javascript"
window.onload = function () {
if (!!document.all) { alert('非IE浏览器无法直接JS控制保存文件!'); return false; }
var doc = document.getElementById('ifr').contentWindow.document;
doc.open();
doc.write(document.getElementById('dv').innerHTML);
doc.close();
doc.execCommand('SaveAs', 'xxx.csv');
}
/script
jquery可以将datatable的数据转化为一个json数据(这个过程我们一般会用$.each),提交给到.ashx(一般处理程序),然后再通过.net去解析json数据,再将数据导出到excel里面。
“”
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流