GAS에서 Gmail에 테이블을 만드는 코드
7878 단어 GoogleAppsScript
이 테이블의 색조가 좋다고는 생각하고 있지 않지만, 다시 HTML, CSS 만드는 것도 싫었기 때문에 메모 대신에 기사 작성.
두번째 인수에 type를 끼워넣어서 품목이 있고 없는 변경을 추가해 있다.
▼ 항목 없음
▼항목 있음
아래 코드입니다.
createMaildraft.gs
function createMaildraft() {
const shtName = 'table';
const sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shtName);
const values = sht.getRange('A2:C5').getValues();
// 本文(html)以外の設定
const recipient = '';
const subject = '件名';
const body = '';
// 本文の設定
let html = `
本文作成
▼テーブルの挿入
${makeTable_(values, 1)}
挿入完了
`;
// 空白は<br>に変換しないと改行にならないので処理
html = html.replace(/\n/g, '<br>');
GmailApp.createDraft(recipient, subject, body, {htmlBody :html})
}
makeTable_.gs
/**
* 二次元配列からtableのHTMLを返すコード
* type:0 項目名なし(デフォルト)
* type:1 項目名あり
*
* @param {object} 二次元配列のデータ
* @param {number} テーブル作成の形
* @return {string} tableのHTMLコード
*/
function makeTable_(values, type = 0) {
let table = "<table style = 'width: auto; border-spacing: 0;font-size:14px; border: 1px solid #ddd;'>";
for(let i=0; i<values.length; i++){
table += '<tr>';
if (i === 0 && type === 1) {
for(let cell of values[i]){
table += `<th style = 'padding: 8px 15px; border: 1px solid #fff; background: #888; font-weight: bold; color:white;'>${cell}</th>`;
}
} else if (i % 2 === 1) {
for(let cell of values[i]){
table += `<td style = 'padding: 8px 15px; border: 1px solid #ddd;'>${cell}</td>`;
}
} else {
for(let cell of values[i]){
table += `<td style = 'padding: 8px 15px; border: 1px solid #ddd; background: #f5f5f5;'>${cell}</td>`;
}
}
table += '</tr>';
}
table += '</table>';
return table;
}
Reference
이 문제에 관하여(GAS에서 Gmail에 테이블을 만드는 코드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/plumfield56/items/be6f2d3f2a74a437b51a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)