ホームページ  >  記事  >  ウェブフロントエンド  >  FF および IE と互換性のある Excel への js エクスポート テーブルの例_JavaScript スキル

FF および IE と互換性のある Excel への js エクスポート テーブルの例_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 17:23:361247ブラウズ
コードをコピー コードは次のとおりです:

 フォアグラウンド呼び出し (最初のパラメーターはテーブルの ID):  
function toExcel(inTblId, inWindow) {
if ($ .browser.msie ) { //IE ブラウザの場合
try {
var allStr = "";
var curStr = ""
if (inTblId != null && inTblId != " " && inTblId ! = "null") {
curStr = getTblData(inTblId, inWindow);
}
if (curStr != null) {
allStr = curStr;
}
else {
alert("エクスポートしたいテーブルが存在しません!");
return;
}
var fileName = getExcelFileName()
doFileExport(fileName, allStr); ;
}
catch (e) {
alert("エクスポート例外:" e.name "->" e.description "!"); else {
window.open('data:application/vnd.ms-excel,' encodeURIComponent($('div[id$=divGvData]').html())); ;
}
}
function getTblData(inTbl, inWindow) {
var rows = 0;
var tblDocument = document; ) {
if (!document.all(inWindow)) {
return null;
}
else {
tblDocument = eval(inWindow).document;
}
var curTbl = tblDocument.getElementById(inTbl);
if (curTbl.rows.length > 65000) {
alert('ソース行数は 65000 行を超えることはできません'); 🎜>return false;
}
if (curTbl.rows.length alert('データソースがありません');
return
}
var outStr = "";
if (curTbl != null) {
for (var j = 0; j for (var i = 0) ; i
行数 = " t"; ;
}
var tc = curTbl.rows[j].cells[i];
if (j > 0 && tc.hasChildNodes() && tc.firstChild.nodeName.toLowerCase() == "input") {
if ( tc.firstChild.type.toLowerCase() == "チェックボックス") {
if (tc.firstChild.checked == true) {
outStr = "Yes" " t";
}
else {
outStr = "いいえ" "t";
}
}
}
else {

outStr = " " curTbl.rows[j].cells[i].innerText "t";
}
if (curTbl.rows[j].cells[i].colSpan > 1) {
for ( var k = 0; k
outStr = " t";
== 0) {
if ( rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
rows = curTbl.rows[j].cells[i]. rowSpan - 1;
}
}
}
outStr = "rn";
}
else {
outStr = null; inTbl "存在しません!");
}
return outStr;
}
function getExcelFileName() {
var d = new Date(); getyear();
var curMonth = " " (d.getMonth() 1);
var curDate = "" 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 = "デバイスの状態" curMonth curDate curMinute curSecond ".xls"
return fileName
}
function doFileExport(inName) , inStr) {
var xlsWin = null ;
if (!!document.all("glbHideFrm")) {
xlsWin = glbHideFrm;
}
var width = 1;
var height = 1;
var openPara = "left=" (window.screen.width / 2 width / 2)
",top=" (window.screen.height 高さ / 2) )
",scrollbars=no,width =" width ",height=" height;
xlsWin = window.open("", "_blank", openPara);
}
xlsWin.document .write(inStr);
xlsWin.document.execCommand('Saveas', true, inName);
xlsWin.close(); /pre>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。