前台JS excel表格导出

公用方法

/**
 * 
 * csv数据导出公用函数。
 */
function isIE() { //ie?
            if (!!window.ActiveXObject || "ActiveXObject" in window)
                return true;
            else
                return false;
        }
function getXlsFromTbl(inTblId, inTblContainerId, title, rownumbers) { 
	 var hh = isIE();
    if (hh == true) //IE浏览器
    {
    try {  
        var allStr = "";  
        var curStr = "";  
        //alert("getXlsFromTbl");  
        if (inTblId != null && inTblId != "" && inTblId != "null") {  
            curStr = getTblData($('#' + inTblId), $('#' + inTblContainerId), rownumbers);  
        }  
        if (curStr != null) {  
            allStr += curStr;  
        }  
        else {  
            alert("你要导出的表不存在!");  
            return;  
        }  
        var fileName = getExcelFileName(title);  
        doFileExport(fileName, allStr);  
    }  
    catch (e) {  
        alert("导出发生异常:" + e.name + "->" + e.description + "!");  
    }  
    } else {  
                window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('div[id$=divGvData]').html()));  
                e.preventDefault();  
            }  
}  

function getExcelFileName(title) { 
    var d = new Date(); 
    var curYear = d.getYear(); 
    var curMonth = "" + (d.getMonth() + 1); 
    var curDate = "" + d.getDate(); 
    var curHour = "" + d.getHours(); 
    var curMinute = "" + d.getMinutes(); 
    var curSecond = "" + d.getSeconds(); 
    if (curMonth.length == 1) { 
        curMonth = "0" + curMonth; 
    } 
    if (curDate.length == 1) { 
        curDate = "0" + curDate; 
    } 
    if (curHour.length == 1) { 
        curHour = "0" + curHour; 
    } 
    if (curMinute.length == 1) { 
        curMinute = "0" + curMinute; 
    } 
    if (curSecond.length == 1) { 
        curSecond = "0" + curSecond; 
    } 
    var fileName = title + "_" + curYear + curMonth + curDate + "_" 
            + curHour + curMinute + curSecond + ".csv"; 
    //alert(fileName);  
    return fileName; 

 function doFileExport(inName, inStr) { 
            var xlsWin = null; 
            if (!!document.all("glbHideFrm")) { 
                xlsWin = glbHideFrm; 
            } else { 
                var width = 1; var height = 1; 
                var openPara = "left=" + (window.screen.width / 2 + width / 2) + ",top=" + (window.screen.height + height / 2) + 
                 ",scrollbars=no,width=" + width + ",height=" + height; 
                xlsWin = window.open("", "_blank", openPara); 
            } 
            xlsWin.document.write(inStr); 
            xlsWin.document.close(); 
            xlsWin.document.execCommand('Saveas', true, inName); 
            xlsWin.close(); 
        }

 调用方法

//数据导出
  
function getTblData(curTbl, curTblContainer, rownumbers) {  
  
    var outStr = "";  
    if (curTbl != null) {  
        var rowdata = curTbl.getRowData();  
        var Lenr = 1;  
  
        for (i = 0; i < Lenr; i++) {  
            //var Lenc = curTbl.rows(i).cells.length;  
            var th;  
            if (rownumbers == true) {  
                th = curTblContainer.find('TH:not(:first-child)');  
            }  
            else {  
                th = curTblContainer.find('TH');  
            }  
            th.each(function(index, element) {  
                //alert($(element).text());  
                //取得每行的列数  
                var j = index + 1;  
                var content = $(element).text();  
                //alert(j + "|" + content); 
                
                outStr += content + "\t";  
                //赋值  
  
            });  
            outStr += "\r\n";  
        }  
        
         outStr += "表头1" + "\t"; 
         outStr += "表头2" + "\t"; 
         outStr += "表头3"+ "\t"; 
         outStr += "表头4" + "\t"; 
         outStr += "\r\n";  
        var tmp = "";  
        for (i = 0; i < rowdata.length; i++) {  
            var row = eval(rowdata[i]); 
           
            for (each in row) {  
            	 
                outStr += row[each] + "\t";  
            }  
            outStr += "\r\n";  
        }  
  
  
    }  
    else {  
        outStr = null;  
        alert(inTbl + "不存在!");  
    }  
    return outStr;  
}  
 

function dataex(){  
                var title = "表名";  
          //判断是否有数据 if(localdata.length>0){ getXlsFromTbl('div的ID', 'div_list', title, true) }else{ $.alert("无导出数据!"); } }

 

posted @ 2015-11-04 11:16  猪肉炖粉条  阅读(292)  评论(0编辑  收藏  举报