Thep Excel

SharePoint.Tables – ดึงข้อมูลจาก SharePoint Lists

SharePoint.Tables ใช้สำหรับดึงข้อมูลทั้งหมดจาก SharePoint List มา Power Query โดยคืนค่าตารางที่มีแถวสำหรับแต่ละรายการใน List

= SharePoint.Tables(url as text, optional options as nullable record) as table

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

= SharePoint.Tables(url as text, optional options as nullable record) as table

Argument Type Required Default Description
url Text Yes URL ของ SharePoint List ที่ต้องการดึงข้อมูล เช่น https://contoso.sharepoint.com/sites/mysite/lists/mylist
options Record Optional null ตัวเลือกเพิ่มเติมเพื่อปรับแต่งการดึงข้อมูล เช่น ApiVersion, Implementation, ViewMode, DisableAppendNoteColumns

Examples

ดึงข้อมูลจาก SharePoint List พื้นฐาน
let SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/employees", Data = SharePoint.Tables(SharePointUrl) in Data
เชื่อมต่อกับ SharePoint List ที่ http://contoso.sharepoint.com/sites/mysite/lists/employees และดึงข้อมูลทั้งหมดเป็นตาราง
Power Query Formula:

let
    SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/employees",
    Data = SharePoint.Tables(SharePointUrl)
in
    Data

Result:

ตารางที่มีแถวสำหรับแต่ละรายการพนักงาน พร้อมคอลัมน์ทั้งหมดของ List

ใช้ตัวเลือก ApiVersion และ Implementation
let SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/projects", Options = [ApiVersion = "Auto", Implementation = "2.0"], Data = SharePoint.Tab…
ระบุตัวเลือก ApiVersion = "Auto" เพื่อให้ Power Query เลือก API version ที่เหมาะสม และใช้ Implementation "2.0" เพื่อเสถียรภาพที่ดีขึ้น
Power Query Formula:

let
    SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/projects",
    Options = [ApiVersion = "Auto", Implementation = "2.0"],
    Data = SharePoint.Tables(SharePointUrl, Options)
in
    Data

Result:

ตารางข้อมูลโปรเจกต์ โดยใช้ SharePoint API 2.0 (เสถียรและเร็วกว่า)

ใช้ ViewMode เพื่อดึงเฉพาะคอลัมน์ default view
let SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/tasks", Options = [ApiVersion = "Auto", ViewMode = "Default"], Data = SharePoint.Tables(S…
ใช้ ViewMode = "Default" เพื่อดึงเฉพาะคอลัมน์ที่มีในการมองหลัก (default view) แล้ว filter เพื่อดึงเฉพาะรายการที่สถานะเป็น Active
Power Query Formula:

let
    SharePointUrl = "https://contoso.sharepoint.com/sites/mysite/lists/tasks",
    Options = [ApiVersion = "Auto", ViewMode = "Default"],
    Data = SharePoint.Tables(SharePointUrl, Options),
    Filtered = Table.SelectRows(Data, each [Status] = "Active")
in
    Filtered

Result:

ตารางงาน (Tasks) ที่มีสถานะ "Active" โดยดึงเฉพาะคอลัมน์ที่แสดงใน default view

FAQs

SharePoint.Tables กับ SharePoint.Contents ต่างกันยังไง?

SharePoint.Tables ดึงข้อมูลจาก List โดยตรง ส่วน SharePoint.Contents ดึงเนื้อหาจากโฟลเดอร์ของ SharePoint (ไฟล์)

ถ้า SharePoint List มีเยอะแยะข้อมูล แบบกี่พันแถว จะหลังหรือเปล่า?

Power Query จะดึงข้อมูลทั้งหมด แต่อาจชา เขาแนะนำให้ใช้ filter ด้านใน SharePoint ก่อน หรือกรอง query ใน Power Query

API version ควรเลือก 14 หรือ 15?

ใช้ “Auto” ปกติแล้ว เว้นแต่ SharePoint เป็นภาษาไม่ใช่อังกฤษ แล้วต้องใช้ 15 เพื่อความเข้ากันได้

DisableAppendNoteColumns ใช้เมื่อไหร่?

ใช้เมื่อ List มี note column (คอลัมน์ข้อหมายเหตุ) และต้องการหลีกเลี่ยงการเรียก endpoint แยกต่างหาก เพื่อลดเวลา

Resources & Related

Additional Notes

SharePoint.Tables(url, [options]) ใช้เชื่อมต่อกับ SharePoint List และดึงข้อมูลมาเป็นตารางใน Power Query

ฟังก์ชันนี้เป็น connector ที่ขอ URL ของ SharePoint List แล้วดึงข้อมูลทั้งหมดมาให้ พร้อมคุณสมบัติต่างๆ ของแต่ละรายการ

ส่วนตัวผมชอบใช้ SharePoint.Tables เพราะมันจัดการการเชื่อมต่อและการรับรองตัวตน (authentication) ให้อัตโนมัติ ไม่ต้องเขียน HTTP request เอง แถมยังมีตัวเลือก ApiVersion และ ViewMode เพื่อปรับแต่งการดึงข้อมูลตามความต้องการได้อีก 😎

Leave a Reply

Your email address will not be published. Required fields are marked *