Excel 365 ยิง Request API ได้ .. เหยยย บ้าน่าแอด จริงหรอ 555+

จริงงงงง เดี๋ยวแอดทำให้ดู เรียกใช้ฟังก์ชันเดียวเสร็จเลย ทำไม Google Sheets ไม่มีแบบนี้บ้าง 🤣

บทความนี้แอดมาแชร์วิธีใช้ Gemini CLI สร้างโปรแกรม API ง่ายๆรันบนคอมพิวเตอร์ส่วนตัว แล้วใช้ Excel ยิง GET Request เพื่อขอข้อมูลจาก API เส้นนี้ ลุยคร้าบ

What is API

two computers exchange data

API ย่อมาจาก Application Programming Interface แปลว่า .. แปลยากมาก 555+

แอดขออธิบายภาษามนุษย์ง่ายๆ API คือหนึ่งในวิธีสื่อสารระหว่างคอมพิวเตอร์สองเครื่อง เช่น คอมพิวเตอร์ของเรากับ Server เพื่อแลกเปลี่ยนข้อมูลกัน

อันนี้เป็น Flow การสื่อสารแบบง่ายสุด เรียกว่า request-response cycle

โลกนี้มี Protocols การสื่อสารของคอมพิวเตอร์หลายแบบ ถ้าใครอยากศึกษาต่อ ลองอ่านบทความของ Mozilla ได้เลยนะค้าบ

สำหรับเพื่อนๆที่อยากทำตามบทความนี้ ต้องติดตั้ง Node + Gemini CLI และใช้ Excel 365 เหมือนแอดนะคร้าบ เราใช้สองฟังก์ชัน Webservice + Filterxml

Create Simple API

write prompt to create a local api server

ขั้นตอนแรก เปิด Gemini CLI พิมพ์ prompt ตามนี้ ใช้ภาษา JavaScript สร้าง API endpoint รันอยู่บนพอร์ต 8000 ในคอมพิวเตอร์ของเรา i.e. localhost

คำศัพท์พื้นฐานเหล่านี้สำคัญมาก เวลาเราเขียน prompt เพื่อสร้าง working software

Hi gemini, create a local server using vanilla JS and http. 

This is a simple server, with GET request for CRM customer database. 

Add 10 example customers, use XML as our database. 

I want to test this demo local server using port 8000.

กระพริบตาสองทีเสร็จ ง่ายจนงง Gemini เขียนโค้ดเร็วเหลือเชื่อ หลังจากแฮงมาหลายสัปดาห์ แง๊ 555+ เราจะได้ API endpoint กลับมา หน้าตาประมาณนี้

https://localhost:8000

คำถาม : ทำไมแอดทอยใช้ XML แทน JSON?

XML ย่อมาจาก Extensible Markup Language เป็นภาษา Markup ยอดนิยมอันดับสอง (รองจาก JSON) ที่เราใช้กันในงาน API

คอนเซปต์ของ XML คือการใช้ <tag> เพื่อ Markup ข้อมูล เช่น ลูกค้าหนึ่งคนในระบบ CRM มีข้อมูล 4 fields คือ id, name, email และ company

<customer>
      <id>1</id>
      <name>Bob Smith</name>
      <email>bob@example.com</email>
      <company>DataSystems</company>
</customer>

Excel 365 มีฟังก์ชัน =FILTERXML() สำหรับฟิลเตอร์ข้อมูล XML แบบง่ายจนงง ส่วน JSON ยังไม่มี native function อาจจะต้องรอ Excel อัปเดตเวอร์ชันหน้าๆ

ตัวอย่างวันนี้ แอดขอใช้ database หลังบ้านเป็น .xml เพื่อความง่าย แฮร่ๆ

database xml

ขั้นตอนถัดไป มาลองเทส API เส้นนี้ใน Excel ด้วยกันคร้าบ 🤓

Let's Call Our API

using webservice in excel

เปิดโปรแกรม Excel พิมพ์ฟังก์ชัน =WEBSERVICE() ใส่ API endpoint เป็น input ต้องเขียนไว้ใน double quote แบบนี้

=WEBSERVICE("http://localhost:8000")

กด enter เพื่อส่ง request ไปที่ server เสร็จแล้ว เหยยยแอด ทำไมมันง่ายแบบนี้ 🤣

output using webservice in excel

API จะส่ง response กลับมาเป็นไฟล์ XML

ถ้าทุกคนลองกดดูที่ output จะเห็นว่ามันส่งกลับมาทั้ง database เลย .. ถ้าเรามีลูกค้า 100 คน มันจะส่งกลับมา 100 คน ถ้ามีลูกค้าล้านคน มันก็ส่งกลับมาล้านคน ..

Excel ระเบิดตู๊มเป็นโกโก้ครันช์ เดี๋ยวๆ 555+

ในชีวิตจริงเราสามารถเขียน PATH + Query Parameter เพิ่มเข้าไปที่ URL เพื่อดึงเฉพาะลูกค้าที่เราต้องการ เช่น ลูกค้า id=1 หรือ id=99 เป็นต้น

https://localhost:8000/customers?id=1

อธิบายฉบับรวบรัด คำศัพท์ควรรู้จักเวลาทำงานกับ API

Add Query Parameter

มาเขียน prompt อัปเดต API เวอร์ชันถัดไปของเรากันคร้าบ บอก Gemini CLI ให้ใส่ query parameter สำหรับฟิลเตอร์ข้อมูลลูกค้าด้วย id ตามนี้

Add query param to filter customer by id

ถ้าอยากได้วิธีการฟิลเตอร์ข้อมูลจาก fields อื่นๆ สามารถบอกมันได้เลยนะครับ เช่น กรองข้อมูลจาก name หรือ company เป็นต้น

add query param to our endpoint

ตอนนี้ (ถ้า Gemini เขียนไม่ผิด 555+) เราจะได้ API endpoint เส้นใหม่ คือ

https://localhost:8000/customers?id=1

กลับไปที่ Excel เรียกฟังก์ชัน =WEBSERVICE() อีกรอบ ลองเปลี่ยน id ได้นะครับ

=WEBSERVICE("https://localhost:8000/customers?id=1")

✅ ถ้าใครรันออก เห็นข้อมูลส่งกลับมาใน Excel .. ยินดีกับทุกคนด้วยคร้าบ เราสร้าง API ที่ใช้งานได้จริงแล้ว สวดยอด ทำไมมันง่ายอย่างนี้ ขยี้ตาสามที ยั๊งงง 555+

Filter Data using XPATH

แถมอีกหนึ่งฟังก์ชัน =FILTERXML() เพื่อดึงเฉพาะ field ที่เราต้องการออกมาจาก response ที่ API ส่งกลับมา อันนี้เป็นเทคนิคการเขียน XPATH

request data with query param

Cell A5:A7 แอดเขียน XPATH เพื่อดึงชื่อ อีเมล และบริษัท ให้ดูเป็นตัวอย่าง จริงๆ XPATH เขียนไม่ยากเลย สำหรับพื้นฐานง่ายๆ แค่พิมพ์ //field ได้เลย เย้

พอใช้งาน local server เสร็จแล้ว กลับไปที่ Gemini CLI พิมพ์คำสั่ง kill our local server, thanks Gemini ปิดโปรเจ็คอย่างสมบูรณ์แบบ

สรุปสิ่งที่ทุกคนได้เรียนรู้จาก tutorial วันนี้

  1. API คือหนึ่งในวิธีการสื่อสารระหว่างคอมพิวเตอร์สองเครื่อง ในบทความนี้คือระหว่าง Excel และ Localhost ที่เราสร้างขึ้นมาชั่วคราว
  2. เราอยู่ในยุคที่สร้าง Simple API ไว้ใช้งานเองได้แล้ว แอดรัก Gemini CLI พลังแห่งการ Vibe Coding ช่างทรงพลังเหลือเกิน ขนลู๊กกก
  3. สิ่งสำคัญที่สุดของ API คือข้อมูลที่อยู่หลังบ้าน จะเก็บแบบ JSON, XML หรือ SQL ได้หมดเลย อยู่ที่เราจะสร้าง API เส้นนี้ยังไง ความรู้ Data เน้นๆ 555+
  4. สองฟังก์ชันที่มีประโยชน์มากใน Excel 365 คือ WEBSERVICE และ FILTERXML

ถ้าใครอยากลอง deploy API ขึ้นบนเว็บ (on cloud) แอดแนะนำ Cloudflare หรือ DigitalOcean นะคร้าบ แอดเคยพูดเรื่องนี้ไปแล้ว และจะพูดอีกเรื่อยๆ

Cloudflare คือสิ่งดีที่สุดที่แอดได้รู้จักในปี 2026 เลย เลิฟฟฟฟ

ปล. สัปดาห์นี้เหมือน Gemini CLI จะกลับมาทำงานได้แบบปกติแล้ว เร็ว แรง ไม่เกรงใจใคร 555+ ใครยังใช้ CLI ไม่เป็น ต้องฝึกแล้วคร้าบ นี่คืออนาคตของการทำงานกับ AI เลย