ryuji0909 / memo

0 stars 0 forks source link

(GAS)在庫管理システム海外用 #1

Open ryuji0909 opened 2 weeks ago

ryuji0909 commented 2 weeks ago

`function doGet() { const template = HtmlService.createTemplateFromFile('index'); return template.evaluate(); }

function createTable(isFirstTable) { const id = "17KMA-kZ7PRLiHYR7_iOPwM2FVpxJ93w-YM0YZAIJuuk"; // スプレッドシートのIDを更新 const ss = SpreadsheetApp.openById(id); const sheet = ss.getSheetByName("海外仕入先一覧"); // "海外仕入先一覧"シートを指定

// 動的な範囲選択に変更。最終行と最終列を取得して範囲を指定します。 const lastRow = sheet.getLastRow(); const lastColumn = sheet.getLastColumn(); const range = sheet.getRange(2, 1, lastRow - 1, lastColumn); // "A2"から最終行までの範囲を動的に指定 const values = range.getValues();

// ADD 2024/06/13 CODE順で並び替え values.sort(function(a, b) { if (a[0] < b[0]) return -1; if (a[0] > b[0]) return 1; return 0; });

let result = ""; let kana = "";

// ADD 2024/06/13 falseの時だけヘッダーを表示 if (!isFirstTable) { result += '

'; result += ''; result += ''; result += ''; result += ''; result += ''; result += '
CODE 社名 通貨 貿易条件 支払条件詳細ページ
'; }

for (var i = 0; i < values.length; i++) { if (kana !== values[i][0]) { kana = values[i][0]; result += '

'; }

let row = values[i];

// rowの値が空白だった場合"n/a"と表記
for (var j = 0; j < row.length; j++){
  if(row[j] == ""){
    row[j] = "n/a";
  }
}

// 数字を4桁で表示、2桁や3桁の場合には先頭に0を追加
var codes = row[0].toString().padStart(4, '0');

result += '<td>' + codes + '</td> <td>' + row[1] + '</td> <td>' + row[2] + '</td> <td>' + row[21] + '</td> <td>' + row[22] + '</td> <td>' + row[24] + '</td>' + '<td><a href="https://script.google.com/a/macros/hq.stylinglife.co.jp/s/AKfycbxfFJFrdINADnpDCmwkLjTiX4iaVnI2t7l4f6npE5MYrVqES3LN_Ei6EydGPZhP5Xuj/exec?p2=' + encodeURIComponent(row[0]) + '"target="_blank">詳細ページ</a></td>';

result += '</tr>';

}

result += '

'; // console.log(result); return result; }`

ryuji0909 commented 2 weeks ago

`<!DOCTYPE html>

仕入先コード表

検索はCtrl + Fで検索可能です。

`