์Note

Script ที่จำเป็นสำหรับการทำฟอร์ม

Sheet link Make copy before use this google sheet

https://docs.google.com/spreadsheets/d/1Z2B41UGDdCu4evg1zNEEvbx_DC83WexXGkMQrUwxih4/edit?usp=sharing

Google App Script

Code.gs
function doGet(e) {
  return HtmlService.createTemplateFromFile('form').evaluate().setTitle("แบบฟอร์มรับข้อมูล");
}

function uploadFileToGoogleDrive(data, file,idCard,type,gen,gender,firstname,lastname,nickname,birthdate,religion,blood,moo,district,amphoe,
                                 province,cnt,zipcode,ptel,email,line,emergen,emergtel,dm,HP,LP,heart,kidney,asma,hiegth,weight,chest,waist,hip,neck,fat,shape,bodytype,
                                 package,team,shirtsize,consent,frequency,rec3,rec4,rec5,PicID,PicURL) {

  //บรรทัดที่ 11 id ทั้งหลายต้องเรียงตามลำดับ ให้เหมือนใน form html บรรทัด 495 ถึงบรรทัดที่ 543 มิฉะนั้นการนำข้อมูลลงตารางกูเกิลชีทจะเพี้ยน ๆ สลับไปสลับมา ลงไม่ตรงสักที//
  
  try {
   
    var folder=DriveApp.getFolderById('1M-Mj8bTKsgchkHF2PE1s-QboksN95TO5'); // ไอดีของโฟลเดอร์ของกูเกิลไดรฟที่เราจะให้อัพโหลดรูปไปเก็บ
   
    var contentType = data.substring(5,data.indexOf(';')),
        bytes = Utilities.base64Decode(data.substr(data.indexOf('base64,')+7)),
        blob = Utilities.newBlob(bytes, contentType, file),
       // file = folder.createFile(blob),
      file = folder.createFolder([firstname+lastname+new Date()]).createFile(blob),
        filelink=file.getUrl(),
        filelid =file.getId() ;
  var lock = LockService.getPublicLock();
  lock.waitLock(30000);    
   
    var doc = SpreadsheetApp.openById("1Z2B41UGDdCu4evg1zNEEvbx_DC83WexXGkMQrUwxih4"); ///ไอดีของกูเกิลชีทที่เราจะอัพโหลดข้อมูลเข้าไป
    var sheet = doc.getSheetByName("name");
    var headRow =  1;
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
    var nextRow = sheet.getLastRow()+1; 
    var row = [];

     for (i in headers){
     ///ตัวหนังสือสีแดงในบรรทัดที่ 38 ถึง 142 ต้องตรงเป๊ะกับหัวตารางกูเกิลชีท ที่เราจะให้ข้อมูล input แต่ละตัว เข้าไป  
      if (headers[i] == "เลขบัตรประชาชน"){ 
        row.push(idCard);
      
      } else if (headers[i] == "ประเภทการสมัคร"){
        row.push(type);
      } else if (headers[i] == "รุ่นหอ"){
        row.push(gen);
      } else if (headers[i] == "เพศ"){
        row.push(gender);  
      } else if (headers[i] == "NAME"){
        row.push(firstname);
      } else if (headers[i] == "Lastname"){
        row.push(lastname);
      } else if (headers[i] == "ชื่อเล่น"){
       row.push(nickname);
      } else if (headers[i] == "วันเดือนปีเกิด"){
        row.push(birthdate);
      } else if (headers[i] == "ศาสนา"){
        row.push(religion);
      } else if (headers[i] == "หมู่เลือด"){
        row.push(blood);
          
     } else if (headers[i] == "บ้านเลขที่หมู่ที่"){
        row.push(moo);   
     } else if (headers[i] == "ตำบล"){
        row.push(district);   
     } else if (headers[i] == "อำเภอ"){
        row.push(amphoe);   
     } else if (headers[i] == "จังหวัด"){
        row.push(province);   
     } else if (headers[i] == "ประเทศ"){
        row.push(cnt);   
    
     } else if (headers[i] == "รหัสไปรษณีย์"){
        row.push(zipcode);  
     } else if (headers[i] == "เบอร์โทร"){
        row.push("TEL- "+ptel);
     } else if (headers[i] == "Email"){
        row.push(email);
     } else if (headers[i] == "ไลน์ไอดี"){
        row.push("LineID-"+line);
    } else if (headers[i] == "ผู้ติดต่อกรณีฉุกเฉิน"){
        row.push(emergen);       
    } else if (headers[i] == "เบอร์โทรผู้ติดต่อฉุกเฉิน"){
        row.push("TEL- "+emergtel);  
     
     
     } else if (headers[i] == "โรคเบาหวาน"){ 
        row.push(dm)        
       } else if (headers[i] == "โรคความดันสูง"){ 
        row.push(HP);      
      } else if (headers[i] == "โรคความดันต่ำ"){ 
        row.push(LP);      
      } else if (headers[i] == "โรคหัวใจ"){ 
        row.push(heart);      
     } else if (headers[i] == "โรคไต"){ 
        row.push(kidney);      
      } else if (headers[i] == "หอบหืด"){ 
        row.push(asma);      
  
      } else if (headers[i] == "ส่วนสูง"){ 
        row.push(hiegth);   
     } else if (headers[i] == "น้ำหนัก"){ 
        row.push(weight);        
       } else if (headers[i] == "รอบอก"){ 
        row.push(chest);      
      } else if (headers[i] == "รอบเอว"){ 
        row.push(waist);      
      } else if (headers[i] == "ตะโพก"){ 
        row.push(hip);  
      } else if (headers[i] == "รอคอ"){ 
        row.push(neck);      
         
      } else if (headers[i] == "เปอร์เซนต์ไขมัน"){ 
        row.push(fat);      
     } else if (headers[i] == "การสะสมไขมัน"){ 
        row.push(shape);     
     } else if (headers[i] == "ประเภทรูปร่าง"){ 
        row.push(bodytype);     
     
     
     
     
     
     } else if (headers[i] == "Package"){
        row.push(package);   
      } else if (headers[i] == "ทีม"){
        row.push(team);   
      } else if (headers[i] == "ขนาดเสื้อ"){
        row.push(shirtsize);   
    
    
     } else if (headers[i] == "ความยินยอม"){
        row.push(consent);   
     } else if (headers[i] == "ความถี่การออกกำลังกาย"){
        row.push(frequency);   
     } else if (headers[i] == "คำแนะนำ3"){
        row.push(rec3);   
     
     } else if (headers[i] == "คำแนะนำ4"){
        row.push(rec4);
      } else if (headers[i] == "คำแนะนำ5"){
        row.push(rec5);
    
   
   
   } else if (headers[i] == "PicID"){
        row.push(filelid);   
     } else if (headers[i] == "PicURL"){
        row.push(filelink);   
     }
       
    }

    sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);
    return "OK";
   } catch (f) {
    return f.toString();
  } finally {
    lock.releaseLock();
  }

}

function getDataUrl(id) {
        let tmp = DriveApp.getFileById(id)
        if (tmp) {
        let bytes = Utilities.base64Encode(tmp.getThumbnail().copyBlob().getBytes())
        let type = tmp.getMimeType()
          return {
          bytes: bytes,
          type: type
        } //`data:${type};base64,${bytes}`
       
      }
  }


function getCode(code) {
var ss =  SpreadsheetApp.openById("1Z2B41UGDdCu4evg1zNEEvbx_DC83WexXGkMQrUwxih4").getSheetByName('name')
var data =ss.getDataRange().getDisplayValues().filter(row=> {
      return row[0]==code
  })

if(data.length > 0) return true
else return false
    
}

Last updated

Was this helpful?