[JavaScript clipboard]表の行の背景色を

表をTABLEタグ風のテキストをEXCELに貼ると、それっぽい表になる。

でも安易に

TD付の行リスト.push("<td>" + data1 + "</td><td>" + ... + "</td");
・・・
TD付の行リスト.push("<td>" + data1 + "</td><td>" + ... + "</td");
var str="<table><tr>" +TD付の行リスト.join("</tr><tr>") + "</tr></table>");
window.clipboardData.setData("Text" , str);

な感じで作ってしまったら、行の背景色を交互に変えるのがめんどくさくなってしまった。

TD付の行リスト.push("<td>" + data1 + "</td><td>" + ... + "</td");
・・・
TD付の行リスト.push("<td>" + data1 + "</td><td>" + ... + "</td");
var p = "<table><tr ${bgColorRow}>" +TD付の行リスト.join("</tr><tr>") + "</tr></table>";

// 行の背景色(${bgColorRow})を交互に変える
var i=0;
var str= p.replaceAll(/\$\{bgColorRow\}/g, function(pat){
   i++;
   return  (i%2)? '': 'bgcolor="lightgrey"';
}));
window.clipboardData.setData("Text" , str);

でもいいけど、10,000行をJoinした後にReplaceAllは重すぎる様な気がした。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA