公用方法
/**
*
* 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("无导出数据!");
}
}
原文:http://www.cnblogs.com/songwy/p/4935385.html