วิธีการใช้ Google Sheets เป็นฐานข้อมูล

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

1. ใน Google Drive คลิก New > More > Connect more apps 

            วิธีการใช้ Google Sheets เป็นฐานข้อมูล

2. ในชื่อ search ใส่คำว่า script แล้วกด Enter จะพบ Google Apps Script แล้วกดปุ่ม Connect

           วิธีการใช้ Google Sheets เป็นฐานข้อมูล

3. จากนั้น ใน Google Drive ให้คลิกที่ New > More > Google Apps Script

           วิธีการใช้ Google Sheets เป็นฐานข้อมูล

4. จากนั้นให้คลิก Close ได้เลย
           วิธีการใช้ Google Sheets เป็นฐานข้อมูล

5. จะได้พื้นที่โปรเจค (Project) ในการพัฒนา Google Apps Script โดยในแต่ละโปรเจคจะประกอบไปด้วยหลายๆไฟล์ Google Apps Script ได้ 

           วิธีการใช้ Google Sheets เป็นฐานข้อมูล

ในการพัฒนา Google Apps Script นั้น จะต้องเขียนในรูปแบบของฟังก์ชั่น (Function) เพื่อให้สะดวกในการใช้งานต่างๆ

ตัวอย่างเช่น มี Google Sheets อยู่ใน Google Drive ดังภาพ

            วิธีการใช้ Google Sheets เป็นฐานข้อมูล

มีรายละเอียดดังนี้

  1. ชื่อของ SpreadSheet คือ “ฐานข้อมูลของฉัน”
  2. ประกอบไปด้วย Sheet ชื่อ “Sheet1” และ “Log”
  3. มี URL คือ

    https://docs.google.com/a/psu.ac.th/spreadsheets/d/1HJmyqiBYC_AEATmdUWakLgHFyYGqSqeqSA8xEw-8o-c/edit

ต่อไปเป็นขั้นตอนการเขียน Google Apps Script เพื่อติดต่อกับ Google Sheet ข้างต้น เพื่อเขียนข้อมูลลงไป โดยตั้งชื่อโปรเจคนี้ว่า ProjectMyDB ตั้งชื่อไฟล์ว่า SheetDB.gs และตั้งชื่อฟังก์ชั่น “editSheet” ดังภาพ

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

ขั้นตอนการทำงานของฟังก์ชั่น editSheet

  1. สร้างตัวแปร ss รับค่าจากการเปิด SpreadSheet จาก URL ข้างต้นด้วยคำสั่ง
    var ss = SpreadsheetApp.openByUrl('https://docs.google.com/a/psu.ac.th/spreadsheets/d/1HJmyqiBYC_AEATmdUWakLgHFyYGqSqeqSA8xEw-8o-c/edit');
  1. สั่งให้ SpreadSheet ดังกล่าว Active ด้วยคำสั่ง   SpreadsheetApp.setActiveSpreadsheet(ss);
  1. เนื่องจากในแต่ละ SpreadSheet ประกอบด้วยหลาย Sheet จึงต้องระบุว่า จะทำงานกับ Active Sheet ชื่อ “Sheet1” ด้วยคำสั่ง  SpreadsheetApp.setActiveSheet(ss.getSheetByName("Sheet1"));
  2. สร้างตัวแปร activeSheet เพื่อกำหนดว่ากำลังทำงาน Active Sheet ด้วยคำสั่ง  var activeSheet=ss.getActiveSheet();
  1. เมื่อต้องการเขียนค่า “Hello World” ลงใน Active Sheet ที่ Cell “C3” ใช้คำสั่ง  activeSheet.getRange("C3").setValue("Hello World");
  1. หากต้องการเขียนค่าทีละหลายๆ Cell หรือเป็น Range ต้องสร้างข้อมูลชนิด Array 2 มิติขึ้นมา แล้วจึงเขียนค่าลงไป กรณีต้องการใส่ค่าในช่วง “A1:C1” ใช้คำสั่ง
    var values =[  ["คณกรณ์","หอศิริธรรม","'3720024"]  ];
    activeSheet.getRange("A1:C1").setValues(values);
  1. หากต้องการเขียนค่าในช่วง “A2:A4” ใช้คำสั่ง
    values = [ ["เกรียงไกร"],["หนูทองคำ"],["'4220020"] ];
    activeSheet.getRange("A2:A4").setValues(values);
  1. เมื่อจะเก็บข้อมูลจริงๆ วิธีการข้างต้นจะไม่สะดวก เพราะจะต้องทราบว่าแถวสุดท้ายแล้วเพิ่มค่าแถวไปทีละหนึ่ง ซึ่งสามารถใช้วิธีการ Append Row กล่าวคือเขียนค่าลงไปในแถวถัดจากแถวล่าสุดที่มีข้อมูลได้ ในตัวอย่างนี้ จะสลับไปใช้ Sheet ชื่อ “Log” แล้วใส่ค่าลงไปด้วยคำสั่ง
    SpreadsheetApp.setActiveSheet(ss.getSheetByName("Log"));
    activeSheet=ss.getActiveSheet();
    var timestamp = new Date();
    activeSheet.appendRow([timestamp, 200 , 300]);
    timestamp = new Date();
    activeSheet.appendRow([timestamp, 200 , 456]);

จากนั้น Save ข้อมูล แล้วสั่ง Run โดยเลือกฟังก์ชั่นชื่อ editSheet ดังภาพ

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

ในการใช้งานครั้งแรก จะปรากฏหน้าต่าง Consent ขึ้นมาเพื่อขอสิทธิ์ในการเข้าใช้ไฟล์

ผลที่ได้จากการทำงานคือ

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

และ

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

จะเห็นได้ว่าสามารถใช้ Google Apps Script เพื่อเขียนค่าใน Google Sheets เพื่อเป็นฐานข้อมูลได้ และสามารถประยุกต์ใช้งานอื่นๆได้อีกมากมาย

Credit :sysadmin


Google ประกาศยุติ Touring Bird และรวมเข้ากับ Google Travel
Touring Brid เป็นเว็บไซต์นำเสนอและวางแผนจัดการการท่องเที่ยว รวบรวมข้อมูลการท่องเที่ยวไว้มากกว่า 200 เมืองทั่วโลก ซึ่งเว็บไซต์นี้เป็นผลงานขอ...
Google แจ้งยุติให้บริการ Google podcast หันไปทุ่มทุน YouTube Music เริ่ม 2024
Google ประกาศผ่านบล็อกโพสต์ของYouTube ว่าจะยุติการให้บริการ Google podcast ตั้งแต่ปี 2024 เป็นต้นไป โดยทางบริษัทจะเพิ่มการลงทุนให้กับพอดแคสต์บน YouT...
Google Search เตรียมเปิดตัวฟีเจอร์ใหม่ Follow เพื่อประสบการณ์แบบกำหนดเองให้กับผู้ใช้
Google ได้เพิ่มฟีเจอร์ใหม่ให้กับบริการการค้นหา (Search) ซึ่งตามทฤษฎีแล้วควรให้ข้อมูลล่าสุดแก่ผู้ใช้เกี่ยวกับหัวข้อเฉพาะที่ผู้ใช้สนใจ โดยฟีเจอร์ใหม่นี้...

Invoice
024609292
Line
Company