十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
不能,导出excel,只能通过后台先生成,然后把地址给前台,让客户端下载。还有一个方法就是安装浏览器插件。
鹤庆网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联公司成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
jquery可以将datatable的数据转化为一个json数据(这个过程我们一般会用$.each),提交给到.ashx(一般处理程序),然后再通过.net去解析json数据,再将数据导出到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当中.
当然这种做法只是一种解决方案,最好结合你的实际情况去使用,修改源码当然也可以.
建议以后遇到类似这种问题,最好先看下源码,了解下它的执行逻辑,原理.
希望对你有帮助!
可以用javascript的文件相关的函数,我忘记具体怎么做了(曾经做过,不难。),只有大体思路。javascript(网页)操作本地文件是要有个许可的,一般在浏览器的安全选项卡里面要设置一下。用生成一个对象,这个对象关联到excel对象(要求客户端必须装excel)。然后写excel表格的单元格等等。到网上搜索一下javascript操作excel就会有的。
datagrid的扩展方法,用于将当前的数据生成excel需要的内容。
复制代码
1 script
2 /**
3 Jquery easyui datagrid js导出excel
4 修改自extgrid导出excel
5 * allows for downloading of grid data (store) directly into excel
6 * Method: extracts data of gridPanel store, uses columnModel to construct XML excel document,
7 * converts to Base64, then loads everything into a data URL link.
8 *
9 * @author Animal extjs support team
10 *
11 */
12 $.extend($.fn.datagrid.methods, {
13 getExcelXml: function (jq, param) {
14 var worksheet = this.createWorksheet(jq, param);
15 //alert($(jq).datagrid('getColumnFields'));
16 var totalWidth = 0;
17 var cfs = $(jq).datagrid('getColumnFields');
18 for (var i = 1; i