js将表导出到Excel,并与FF和IE的示例兼容。

js将表导出到Excel,并与FF和IE的示例兼容。
复制代码代码如下所示:
前端调用(第一个参数是表ID):
(intblid功能推向极致,在窗口){
如果(美元。浏览器。MSIE){ / /如果IE浏览器
{试
无功allstr = ;
无功curstr = ;
如果(intblid!= null intblid!= intblid!=null{){
curstr = gettbldata(intblid,在窗口);
}
如果(curstr!= NULL){
allstr = curstr;
}
{其他
警报()您要导出的表不存在!;
返回;
}
var文件名= getexcelfilename();
DoFileExport(filename,allstr);
}
catch(e){
警报(出口例外:+查询+->+ +e.description!;
}
}
{其他
Window.open(资料:应用/ vnd.ms-excel,' + encodeURIComponent($('div { ID = divgvdata美元})。Html())))
E.preventDefault();
}
}
功能gettbldata(intbl,存在){
var行= 0;
无功tbldocument =文件;
如果(!在窗口在窗口!){
如果(!document.all(存在)){
返回null;
}
{其他
tbldocument = eval(存在)文件;
}
}
无功curtbl = tbldocument.getelementbyid(intbl);
如果(curtbl.rows.length > 65000){
警报(源数不能超过65000行);
返回false;
}
如果(curtbl.rows.length <= 1){
警报(数据源没有数据);
返回false;
}
无功outstr = ;
如果(curtbl!= NULL){
对于(var j = 0;J < curtbl.rows.length;j++){
对于(var i = 0;i < curtbl。行{ J }。cells.length;i++){
如果(i = 0行> 0){
outstr = T ;
行= 1;
}
VaR TC = curtbl。行{ } { }细胞J;
如果(J(TC。firstChild。形式。toLowerCase)(tc.haschildnodes > 0)= =输入){
如果(TC。firstChild。型。toLowerCase(= =)复选框){
如果(tc.firstchild.checked = = true){
outstr + =+ T ;
}
{其他
outstr =无+ T ;
}
}
}
{其他

outstr =+ curtbl。行{ } { } J。细胞。innerText + T ;
}
如果(curtbl。行{ } { } J。细胞。colspan > 1){
对于(var k = 0;K<curtbl。行{ } { } J。细胞。colspan - 1;K +){
outstr = T ;
}
}
如果(i = 0){
如果(行= = 0 curtbl。行{ } { } J。细胞。行> 1){
行= curtbl。行{ } { } J。细胞行1;
}
}
}
outstr = R;
}
}
{其他
outstr = null;
警报(intbl +不存在!;
}
返回outstr;
}
功能getexcelfilename(){
日期();
无功curyear = d.getyear();
无功curmonth = +(d.getmonth()+ 1);
VaR CURDATE = + d.getdate();
无功curhour = + d.gethours();
无功curminute = + d.getminutes();
无功cursecond = + d.getseconds();
如果(curmonth.length = = 1){
curmonth =0+ curmonth;
}
如果(curdate.length = = 1){
CURDATE =0+ CURDATE;
}
如果(curhour.length = = 1){
curhour =0+ curhour;
}
如果(curminute.length = = 1){
curminute =0+ curminute;
}
如果(cursecond.length = = 1){
cursecond =0+ cursecond;
}
var文件名=设备状态curyear + + + + + curmonth CURDATE curhour curminute + cursecond +.xls;
返回的文件名;
}
功能dofileexport(名字,仪器){
无功xlswin = null;
如果(!!document.all(glbhidefrm )){
xlswin = glbhidefrm;
}
{其他
var宽度= 1;
var高度= 1;
无功openpara =左=+(屏幕分辨率的宽/ 2 +宽 / 2)
+
+
xlswin = window.open(
}
xlswin.document.write(仪器);
XlsWin.document.close();
xlswin.document.execcommand('saveas ',真的,名字);
XlsWin.close();
}
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部