การคุ้มครองการชำระเงินรายละเอียด
- การแก้ไขภายในแพ็กเกจไม่มีค่าใช้จ่าย
- หากคุณไม่ตอบกลับภายใน 3 วันหลังส่งมอบ งานจะถูกยอมรับโดยอัตโนมัติ
เงินจะถูกพักไว้เมื่อคุณชำระ และจะถูกโอนก็ต่อเมื่อคุณยอมรับงานแล้วเท่านั้น

ตัวอย่างผลงาน
รวมไฟล์ยอดขายรายเดือนของ 9 ร้านเป็นรายงาน Excel ไฟล์เดียว
วิธีรัน
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO โฟลเดอร์: sales/2026-10 พบ 9 ไฟล์
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 แถว
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 แถว
2026-11-02 09:14:04 WARN shop-07.csv: ข้าม 3 แถวที่ไม่มีราคา (บรรทัด 88, 412, 913)
2026-11-02 09:14:05 INFO เสร็จแล้ว: 10,412 แถว -> report-2026-10.xlsx (ชีต “ยอดขาย” และ “ยอดรวม”)
ตั้งค่าในไฟล์ ไม่ต้องแก้โค้ด
ชื่อคอลัมน์ของแต่ละสาขาอยู่ใน settings.ini ดังนั้นสาขาใหม่หรือคอลัมน์ที่เปลี่ยนชื่อก็แค่เพิ่มหนึ่งบรรทัดในไฟล์นั้น:
[columns]
date = วันที่, วันที่ขาย, วัน
product = สินค้า, รายการ, ชื่อสินค้า
quantity = จำนวน, ปริมาณ, ชิ้น
price = ราคา, ราคาต่อหน่วย
ตัวอย่างโค้ดบางส่วน
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""อ่านไฟล์ของสาขาหนึ่งและตั้งชื่อคอลัมน์ให้ตรงกับรายงาน"""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: ไม่พบคอลัมน์สำหรับ “{name}” (ค้นหาจาก {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
ไฟล์ที่ส่งมอบ: ไฟล์ ZIP ที่มี merge_sales.py (310 บรรทัด) settings.ini requirements.txt และ README อธิบายการติดตั้ง Python การรันสคริปต์ และความหมายของแต่ละข้อความในล็อก ลูกค้ารันสคริปต์บนคอมพิวเตอร์ของตัวเอง
ลูกค้า: ร้านเครื่องเขียนเครือเล็ก ๆ 9 สาขา แต่ละสาขาส่งยอดขายของเดือนมาเป็นไฟล์ CSV หรือ Excel โดยชื่อคอลัมน์ต่างกันเล็กน้อย งาน: สคริปต์ตัวเดียวที่อ่านทุกไฟล์ในโฟลเดอร์ ปรับคอลัมน์ให้เป็นรูปแบบเดียวกัน แล้วเขียนรายงาน Excel ไฟล์เดียวที่มียอดขายทั้งหมดและชีตสรุปยอดรวมแยกตามสาขา
ลูกค้าและข้อมูลทั้งหมดเป็นเรื่องสมมติ
เกี่ยวกับบริการนี้
คำสั่งซื้อจากแพลตฟอร์มร้านค้า งานจากบริการจัดการโปรเจกต์ รายการจากระบบจอง หากบริการนั้นมี API สาธารณะ ข้อมูลก็เข้ามาอยู่ใน Google ชีตของคุณได้โดยไม่ต้องส่งออกไฟล์ด้วยมือ Google Apps Script นี้ส่งคำขอไปยัง API ด้วยคีย์ของคุณเอง ดึงฟิลด์ที่คุณต้องการ และเขียนเป็นแถวทีละหน้า ตั้งแต่สแตนดาร์ดขึ้นไป คีย์อยู่ใน properties ของสคริปต์ซึ่งคุณกรอกเอง ไม่อยู่ในโค้ด และข้อผิดพลาดไปอยู่ในแท็บ Log ส่วนพรีเมียมเพิ่มเฉพาะแถวใหม่หรือแถวที่เปลี่ยน และมีคู่มือการรันทุกชั่วโมงหรือทุกวันด้วยทริกเกอร์ ส่งลิงก์ไปยังเอกสาร API และฟิลด์ที่ต้องการมาให้เรา การรันแต่ละครั้งจำกัดไว้ราวหกนาที การนำเข้าขนาดใหญ่มากจึงต้องแบ่งเป็นส่วน
สิ่งที่รวมอยู่ในบริการ
- สิ่งที่คุณจะได้รับไฟล์ ZIP ที่มีโค้ด Apps Script และ README ที่แสดงวิธีเพิ่มลงในชีต ใส่คีย์ และรัน โค้ดยังแสดงบนหน้าคำสั่งซื้อด้วย
- ตามเอกสารเขียนจากเอกสารของ API เอง
- ฟิลด์ที่คุณเลือกเฉพาะคอลัมน์ที่คุณต้องการ ตามลำดับของคุณ
- ทุกหน้าผลลัพธ์ที่มาเป็นหน้า ๆ ถูกอ่านจนจบ
- คีย์ไม่อยู่ในโค้ดคุณใส่ไว้ใน properties ของสคริปต์เอง
- โค้ดที่อ่านง่ายมีคอมเมนต์ เพิ่มฟิลด์ภายหลังได้ง่าย
วิธีการทำงาน
- 1งานคุณส่งเอกสาร API และฟิลด์ที่ต้องการ
- 2โค้ดเราเขียนสคริปต์ตามเอกสารและคู่มือการติดตั้ง
- 3ทดลองใช้คุณใส่คีย์ในสำเนาของชีตและรัน
- 4การแก้ไขคุณขอแก้ไขได้ภายในแพ็กเกจและส่งข้อความแจ้งข้อผิดพลาดมาหากมี
สิ่งที่เราต้องการจากคุณ
บริการและลิงก์ไปยังเอกสาร API คำขอที่คุณต้องการ (เช่น คำสั่งซื้อ 30 วันล่าสุด) และฟิลด์ที่จะเป็นคอลัมน์ ตัวอย่างคำตอบจาก API ช่วยได้มาก คัดลอกจากเอกสารหรือจากการเรียกทดสอบโดยลบค่าส่วนตัวออก ข้อมูลควรรีเฟรชบ่อยแค่ไหน และเพิ่มแถวใหม่หรือเขียนทับชีต ห้ามส่งคีย์ API จริงมา README แสดงตำแหน่งที่คุณใส่คีย์เอง
เราจะถามคุณว่า:
- บริการไหน และเอกสาร API อยู่ที่ไหน
- ต้องการข้อมูลอะไร
- ควรรีเฟรชบ่อยแค่ไหน
เปรียบเทียบแพ็กเกจ
| แพ็กเกจ | เบสิกเรียก API หนึ่งครั้ง฿544 | สแตนดาร์ดนำเข้าพร้อมไฟล์ตั้งค่า฿1,122 | พรีเมียมเครื่องมือนำเข้า฿2,278 |
|---|---|---|---|
| กำหนดส่ง | 1 วัน | 2 วัน | 3 วัน |
| การแก้ไข | 1 | 2 | 3 |
| โค้ด | ไม่เกิน 150 บรรทัด | ไม่เกิน 400 บรรทัด | ไม่เกิน 1,000 บรรทัด |
| ไฟล์โค้ด | 1 | ไม่เกิน 3 | ไม่เกิน 8 |
| ไฟล์ตั้งค่า | ไม่มี | มี | มี |
| ข้อความแจ้งข้อผิดพลาดที่ชัดเจนและล็อก | ไม่มี | มี | มี |
| ตัวเลือกการรันและคู่มือการตั้งเวลารัน | ไม่มี | ไม่มี | มี |
| คู่มือการติดตั้งและการรัน (README) | มี | มี | มี |
| ภาษา | Google Apps Script | Google Apps Script | Google Apps Script |
| สั่งซื้อ เบสิก | สั่งซื้อ สแตนดาร์ด | สั่งซื้อ พรีเมียม |
การคุ้มครองการชำระเงิน
คุณชำระเงินเมื่อสั่งซื้อ แต่เงินจะถูกโอนเฉพาะสำหรับงานที่ยอมรับแล้วเท่านั้น
- ราคาคงที่ราคาแพ็กเกจจะไม่เปลี่ยนแปลงหลังจากคุณชำระเงิน
- เงินถูกพักไว้เมื่อคุณชำระเงิน ยอดเงินจะถูกพักไว้เท่านั้น และจะถูกโอนออกเมื่อคุณยอมรับงานแล้ว
- ตรวจสอบก่อนส่งมอบผลงานทุกชิ้นผ่านการตรวจสอบคุณภาพก่อนถึงมือคุณ และคุณจะเห็นผลงานในหน้าคำสั่งซื้อก่อนยอมรับงาน
- แก้ไขฟรีขอแก้ไขภายในขอบเขตรายละเอียดงานของคุณได้ตามจำนวนครั้งที่แพ็กเกจกำหนด
- ยอมรับงานหลัง 3 วันหากภายใน 3 วันหลังส่งมอบ คุณไม่ได้ยอมรับงานหรือขอแก้ไข งานจะถูกยอมรับโดยอัตโนมัติ หากคุณเขียนข้อความในแชทคำสั่งซื้อหลังส่งมอบ คำสั่งซื้อจะรอไว้ก่อน เมื่อเราตอบกลับแล้ว เราอาจเริ่มนับ 3 วันใหม่ และจะแจ้งให้ทราบในแชท
- ทำใหม่หรือคืนเงินเต็มจำนวนหากผลงานไม่ตรงตามรายละเอียดงานและการแก้ไขยังไม่ช่วย หรืองานใช้เวลาเกินกำหนดส่งมากกว่าสองเท่า ให้เขียนแจ้งในแชทคำสั่งซื้อ เราจะทำงานใหม่หรือคืนเงินให้เต็มจำนวน
คำถามและคำตอบ
ใช้ได้กับทุกบริการไหม
ใช้ได้กับบริการที่มี API สาธารณะและให้คุณสร้างคีย์หรือโทเค็นของตัวเองได้ บริการที่ไม่มี API หรือต้องลงชื่อเข้าใช้ผ่านหน้าเบราว์เซอร์ทุกครั้งไม่รวมอยู่ด้วย
อัปเดตได้บ่อยแค่ไหน
ด้วยทริกเกอร์ตามเวลา บ่อยได้ถึงทุกไม่กี่นาที แต่ข้อมูลส่วนใหญ่รันทุกชั่วโมงหรือทุกวันก็พอ ขีดจำกัดคำขอของบริการนั้นและขีดจำกัดสคริปต์ของ Google ยังมีผล
ส่งข้อมูลกลับไปยังบริการได้ไหม
บริการนี้อ่านข้อมูลลงชีต การเขียนกลับทำได้หาก API อนุญาต อธิบายไว้ในรายละเอียดงาน แล้วเราจะบอกว่าอยู่ในแพ็กเกจของคุณได้หรือไม่
คุณจะสร้างคีย์ให้ฉันไหม
ไม่ คุณสร้างคีย์ในบัญชีของคุณกับบริการนั้น และใส่ลงใน properties ของสคริปต์เอง เราไม่เข้าสู่ระบบบัญชีของคุณ
ไม่พบคำตอบใช่ไหม