js导出easyui datagrid当前页
在导出的时候遇到easyui多级表头内容不居中的问题。增加了一个style的样式。然后就ok了。记录一下,方便下次使用 ~
//文件导出
function exportFiles() {
$('#dgData').datagrid('toExcel',"小时报");
}
$.extend($.fn.datagrid.methods, {
toExcel: function (jq, filename) {
return jq.each(function () {
var uri = 'data:application/vnd.ms-excel;base64,'
, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->'
+'<style type="text/css">table td{text-align:center;}</style>'
+'</head><body><table>{table}</table></body></html>'
, base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }
, format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }
var alink = $('<a style="display:none"></a>').appendTo('body');
var view = $(this).datagrid('getPanel').find('div.datagrid-view');
var table = view.find('div.datagrid-view2 table.datagrid-btable').clone();
var tbody = table.find('>tbody');
view.find('div.datagrid-view1 table.datagrid-btable>tbody>tr').each(function (index) {
$(this).clone().children().prependTo(tbody.children('tr:eq(' + index + ')'));
});
var head = view.find('div.datagrid-view2 table.datagrid-htable').clone();
var hbody = head.find('>tbody');
view.find('div.datagrid-view1 table.datagrid-htable>tbody>tr').each(function (index) {
$(this).clone().children().prependTo(hbody.children('tr:eq(' + index + ')'));
});
hbody.prependTo(table);
var ctx = { worksheet: name || 'Worksheet', table: table.html() || '' };
alink[0].href = uri + base64(format(template, ctx));
alink[0].download = filename;
alink[0].click();
alink.remove();
})
}
});
分类:
javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗