Thep Excel

File.Contents – อ่านข้อมูลจากไฟล์

File.Contents ใช้อ่านข้อมูล binary ของไฟล์จากพาธที่ระบุ เพื่อนำเข้าข้อมูลจากระบบไฟล์ลงในโปรแกรม

= File.Contents(path as text, optional options as nullable record) as binary

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
7/10

Difficulty
2/10

Usefulness
7/10

Syntax & Arguments

= File.Contents(path as text, optional options as nullable record) as binary

Argument Type Required Default Description
path text Yes พาธไฟล์ที่ต้องการอ่าน ต้องเป็น absolute path เช่น ‘C:\\Users\\Name\\Data.xlsx’
options nullable record Optional null ตัวเลือกเพิ่มเติม (สำหรับการใช้งานภายในเท่านั้น)

Examples

อ่านไฟล์ Excel พื้นฐาน
let FilePath = "C:\\Users\\John\\Desktop\\Sales.xlsx", FileData = File.Contents(FilePath), ExcelFile = Excel.Workbook(FileData) in ExcelFile
ใช้ File.Contents อ่านไฟล์ Excel แล้ว Excel.Workbook จะแปลงเป็นตารางที่อ่านได้
Power Query Formula:

= let
    FilePath = "C:\\Users\\John\\Desktop\\Sales.xlsx",
    FileData = File.Contents(FilePath),
    ExcelFile = Excel.Workbook(FileData)
  in
    ExcelFile

Result:

ไฟล์ Excel ที่แปลงเป็น binary data พร้อมสำหรับการประมวลผลเพิ่มเติม

อ่านไฟล์ CSV พร้อมแปลงเป็นตาราง
let FilePath = "C:\\Data\\Employees.csv", FileData = File.Contents(FilePath), CSVContent = Csv.Document(FileData), Headers = Table.PromoteHeaders(CSVContent) in…
File.Contents อ่านไฟล์ CSV เป็น binary จากนั้น Csv.Document แปลงเป็นตาราง และ PromoteHeaders ยกแถวแรกขึ้นมาเป็นชื่อคอลัมน์
Power Query Formula:

= let
    FilePath = "C:\\Data\\Employees.csv",
    FileData = File.Contents(FilePath),
    CSVContent = Csv.Document(FileData),
    Headers = Table.PromoteHeaders(CSVContent)
  in
    Headers

Result:

ตารางข้อมูล CSV พร้อมใช้งาน โดยแถวแรกเป็น headers

อ่านไฟล์ JSON และแปลงเป็นตาราง
let FilePath = "C:\\Data\\config.json", FileData = File.Contents(FilePath), TextData = Text.FromBinary(FileData, TextEncoding.Utf8), JSONData = Json.Document(Te…
ต้องแปลง binary เป็น text ก่อนใช้ Json.Document เพื่อให้ JSON.Document อ่านได้
Power Query Formula:

= let
    FilePath = "C:\\Data\\config.json",
    FileData = File.Contents(FilePath),
    TextData = Text.FromBinary(FileData, TextEncoding.Utf8),
    JSONData = Json.Document(TextData)
  in
    JSONData

Result:

ข้อมูล JSON ที่เปลี่ยนจาก binary เป็น text แล้วแปลงเป็นรูปแบบ JSON

ใช้กับ Folder.Contents เพื่ออ่านไฟล์หลายแฟ้ม
let FolderPath = "C:\\Data\\Reports", FolderFiles = Folder.Contents(FolderPath), ExcelFiles = Table.SelectRows(FolderFiles, each Text.EndsWith([Name], ".xlsx"))…
รวม Folder.Contents และ File.Contents เพื่ออ่านไฟล์ Excel ทั้งหมดจากโฟลเดอร์ จากนั้นเพิ่มคอลัมน์ใหม่ประกอบด้วยข้อมูลของแต่ละไฟล์
Power Query Formula:

= let
    FolderPath = "C:\\Data\\Reports",
    FolderFiles = Folder.Contents(FolderPath),
    ExcelFiles = Table.SelectRows(FolderFiles, each Text.EndsWith([Name], ".xlsx")),
    FilesWithContent = Table.AddColumn(
      ExcelFiles, 
      "FileContent", 
      each File.Contents([Folder Path] & [Name])
    )
  in
    FilesWithContent

Result:

ตารางที่มีคอลัมน์ 'FileContent' ประกอบด้วยข้อมูล binary ของไฟล์ Excel ทั้งหมด

FAQs

File.Contents ต้องใช้ absolute path ใช่ไหม?

ใช่ครับ ต้องเป็น absolute path เช่น ‘C:\\Users\\Name\\file.xlsx’ เสมอ ไม่สามารถใช้ relative path ได้

หากอ่านไฟล์จากแหล่งที่ไม่ใช่ local drive ได้หรือไม่?

File.Contents ออกแบบมาสำหรับไฟล์ local เท่านั้น หากต้องอ่านจากเนตเวิร์ก (SharePoint, OneDrive) ให้ใช้ SharePoint.Contents หรือ Web.Contents แทน

ส่วนต่างระหว่าง File.Contents กับ Excel.Workbook คืออะไร?

File.Contents อ่านไฟล์เป็น binary data เท่านั้น ส่วน Excel.Workbook ใช้ประมวลผล binary data เพื่อแปลงเป็นตาราง ต้องใช้ File.Contents ก่อนจึงใช้ Excel.Workbook ได้

จะเลือกได้ว่าจะโหลดอักขระ (encoding) ไหนหรือไม่?

File.Contents เองไม่มีพารามิเตอร์ encoding แต่เมื่อแปลง binary เป็น text ก็ใช้ Text.FromBinary(data, TextEncoding.Utf8) ระบุได้

Resources & Related

Additional Notes

File.Contents(path) ใช้สำหรับอ่านข้อมูล binary ของไฟล์ที่ระบุตามพาธ (absolute path) เพื่อประมวลผลข้อมูลจากไฟล์ต่างๆ เช่น Excel, CSV, JSON, XML, เป็นต้น

ตัวฟังก์ชันนี้ส่งคืนข้อมูลในรูปแบบ binary ซึ่งมักต้องแปลงเป็นรูปแบบอื่น (Text, Table, JSON) ตามความต้องการของคุณ ทำให้สามารถทำงานกับไฟล์ที่มีรูปแบบต่างๆ ได้

ส่วนตัวผมชอบใช้ File.Contents ร่วมกับ Csv.Document หรือ Excel.Workbook เพื่อให้ได้ข้อมูลสำเร็จรูปที่พร้อมใช้ได้เลย 😎

Leave a Reply

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