ไฟล์ Comma-Separated Values (CSV) คือไฟล์ข้อความที่คั่นค่าด้วยเครื่องหมายจุลภาค (,) ซึ่งมีประโยชน์ในการวิเคราะห์ข้อมูลหลากหลายรูปแบบ บางครั้งคุณอาจต้องบันทึกไฟล์ Excel เป็น CSV เพื่อนำไปใช้ต่อ ในบทความนี้จะแนะนำ 3 วิธีที่เหมาะสมในการบันทึกไฟล์ Excel เป็น CSV พร้อมเครื่องหมายจุลภาค
คุณสามารถดาวน์โหลดสมุดงานตัวอย่างด้านล่างเพื่อฝึกปฏิบัติได้
CSV คืออะไร?
CSV หรือ Comma-Separated Values เป็นรูปแบบไฟล์ยอดนิยมที่จัดเก็บค่าเป็นสตริงข้อความ โดยแต่ละค่าจะคั่นด้วยเครื่องหมายจุลภาค ซอฟต์แวร์และภาษาโปรแกรมมิ่งต่างๆ เช่น Pandas library ใน Python ใช้ไฟล์ CSV เป็นอินพุต
3 วิธีที่เหมาะสมในการบันทึกไฟล์ Excel เป็น CSV พร้อมจุลภาค
Excel มีหลายวิธีในการบันทึกไฟล์เป็น CSV วิธีที่นิยมที่สุดคือใช้คำสั่ง Save As แต่คุณอาจต้องใช้วิธีที่ต่างกันสำหรับชุดข้อมูลที่มีอักขระพิเศษ หรือต้องการบันทึกหลายชีทเป็น CSV พร้อมกัน ในที่นี้จะอธิบาย 3 วิธีที่เหมาะสม
1. บันทึก Excel เป็น CSV พร้อมจุลภาคด้วยคำสั่ง Save As
วิธีที่นิยมที่สุดคือใช้คุณสมบัติ Save As ซึ่ง Excel รองรับการบันทึกในหลายรูปแบบ เราสามารถใช้ Save As เพื่อบันทึกเป็น CSV พร้อมจุลภาคได้ ขั้นตอนมีดังนี้ ใช้ชุดข้อมูลชื่อหนังสือ พร้อมผู้เขียนและปีพิมพ์ เพื่อสาธิต

ขั้นตอน:
- เปิดชีทที่ต้องการบันทึกเป็น CSV
- ไปที่แท็บ File ในริบบอน และเลือก Save As

- ในหน้าต่าง Save As เลือกตำแหน่งบันทึก และเลือกประเภทไฟล์เป็น CSV (Comma delimited) (*.csv)
- กด Save

- หากมีหลายชีท จะมีการแจ้งเตือน ให้กด OK

- ไฟล์ CSV ถูกบันทึกที่ตำแหน่งที่เลือก ข้อมูลจะไม่มีรูปแบบต่างๆ จากชีทเดิม

- เปิดไฟล์ด้วย Notepad จะเห็นค่าคั่นด้วยจุลภาค

อ่านเพิ่มเติม: [แก้ไขแล้ว!] Excel ไม่บันทึก CSV ด้วยจุลภาค (7 วิธีแก้)
2. แปลงไฟล์ที่มีอักขระพิเศษเป็น CSV พร้อมจุลภาค
วิธีข้างต้นใช้ได้ดีหากชีทมีแค่อักขระ ASCII แต่หากมีอักขระ Unicode (เช่น ภาษาจีน) ต้องใช้วิธีอื่น 2 วิธีด้านล่าง ใช้ชุดข้อมูลภาษาจีน (Mandarin) สาธิต
2.1 บันทึกเป็น CSV UTF-8
สามารถบันทึกชีทที่มีอักขระ Unicode เป็นไฟล์ CSV UTF-8 ซึ่งจะไม่ทำให้อักขระ Unicode เสียหาย ขั้นตอนดังนี้
ขั้นตอน:
- เปิดชีทที่มีอักขระ Unicode และต้องการบันทึกเป็น CSV

- ไปที่แท็บ File >> Save As
- ในหน้าต่าง Save As เลือกตำแหน่ง และเลือก CSV UTF-8 (Comma delimited) (*.csv) เป็นประเภทไฟล์
- กด Save

- หากมีหลายชีท จะมีการแจ้งเตือน ให้กด OK
- ไฟล์ CSV ถูกบันทึก เปิดด้วย Notepad จะเห็นคำภาษาจีนแสดงถูกต้อง และคั่นด้วยจุลภาค

- เปิดใน Excel จะเห็นข้อมูลโดยไม่มีรูปแบบเดิม

บทความเกี่ยวข้อง
- วิธีแปลงไฟล์ Excel เป็นรูปแบบ CSV (5 วิธีง่าย)
- บันทึก Excel เป็น CSV พร้อมเครื่องหมายคำพูดคู่ (3 วิธีง่ายที่สุด)
- วิธีแปลงไฟล์ Excel หลายไฟล์เป็น CSV (3 วิธีที่เหมาะสม)
- แปลง Excel เป็น CSV โดยไม่ต้องเปิดไฟล์ (4 วิธีง่าย)
- วิธีแปลงไฟล์ Excel เป็น CSV อัตโนมัติ (3 วิธีง่าย)
2.2 บันทึกเป็น CSV UTF-16
นอกจาก CSV UTF-8 แล้ว ยังมี CSV UTF-16 สำหรับไฟล์ที่มีอักขระ Unicode โดยเฉพาะอักขระ เอเชีย รูปแบบนี้ใช้ 16 ไบต์ต่ออักขระ ขั้นตอนบันทึกภาษาจีนเป็น CSV UTF-16:
ขั้นตอน:
- เปิดชีทที่ต้องการบันทึก

- ไปที่ File >> Save As
- ในหน้าต่าง Save As เลือกตำแหน่ง และเลือก Unicode Text เป็นรูปแบบบันทึก
- กด Save

- หากมีหลายชีท จะมีการแจ้งเตือน ให้กด OK
- จะได้ไฟล์ข้อความ (.txt) ที่มีข้อมูลจากชีทที่เลือก

- ค่ายังไม่คั่นด้วยจุลภาค
- คัดลอกช่องว่างระหว่างค่าในไฟล์ข้อความ
- กด Ctrl + H เพื่อเปิดกล่อง Find and Replace

- วางช่องว่างที่คัดลอกใน Find what และใส่จุลภาค (,) ใน Replace with
- คลิก Replace All

- ตอนนี้ค่าคั่นด้วยจุลภาคแล้ว บันทึกไฟล์ข้อความเป็น CSV

- ใน Notepad ไปที่ File >> Save As
- เลือก All Files ใน Save as type และเติม .csv ท้ายชื่อไฟล์
- กด Save

- เสร็จแล้ว! ไฟล์ CSV พร้อมจุลภาค เปิดด้วย Notepad เพื่อตรวจสอบ

อ่านเพิ่มเติม: วิธีแปลงไฟล์ Excel เป็นไฟล์ข้อความคั่นจุลภาค (3 วิธี)
3. ใช้รหัส VBA บันทึก Excel เป็น CSV พร้อมจุลภาค
วิธีก่อนหน้าบันทึกชีทละชีท ใช้เวลานานหากมีหลายชีท วิธีแก้คือใช้รหัส VBA (Visual Basics for Applications) ง่ายๆ ขั้นตอนดังนี้
ขั้นตอน:
- เปิดชีทใดชีทหนึ่งของสมุดงาน
- กด Ctrl + F11

- หรือเลือก Developer > Visual Basic เพื่อเปิดหน้าต่าง VBA

- ในหน้าต่าง VBA คลิกขวาที่ชีทที่ใช้งานอยู่ >> Insert > Module

- วางรหัสต่อไปนี้ในโมดูล
Sub Batch_Save_CSV()
Dim wsht As Worksheet
Dim file_path As String
Application.ScreenUpdating = False
file_path = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
คำอธิบายรหัส:
Sub Batch_Save_CSV()
Dim wsht As Worksheet
Dim file_path As String
ส่วนนี้ประกาศกระบวนย่อยชื่อ Batch_Save_CSV และตัวแปร wsht และ file_path
Application.ScreenUpdating = False
file_path = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
ส่วนนี้สร้างลูปสำหรับแต่ละชีทในสมุดงาน และเปลี่ยนรูปแบบไฟล์เป็น CSV
- คลิกปุ่ม Run ในหน้าต่าง VBA

- แต่ละชีทในสมุดงานจะถูกบันทึกเป็นไฟล์ CSV พร้อมจุลภาค เปิดด้วย Notepad เพื่อตรวจสอบ
- ไฟล์ CSV ของ Sheet1

- และไฟล์ CSV ของ Sheet4

อ่านเพิ่มเติม: แปลง Excel เป็นไฟล์ CSV คั่นจุลภาค (2 วิธีง่าย)
ข้อดีของไฟล์ CSV
- ใช้ได้หลายแพลตฟอร์ม
- จัดการและจัดระเบียบง่าย
- ซอฟต์แวร์และภาษาโปรแกรมมิ่งหลายตัวใช้เป็นอินพุต
สรุป
สามารถบันทึกไฟล์ CSV พร้อมจุลภาคจาก Excel ได้หลายวิธี บทความนี้ได้อธิบาย 3 วิธีที่เหมาะสม หากมีปัญหาในการปฏิบัติ สามารถ留言ได้ โปรดเยี่ยมชม ExcelDemy สำหรับบทความ Excel อื่นๆ
บทความเกี่ยวข้อง
- วิธาสร้างไฟล์ CSV จาก Excel (6 วิธีง่าย)
- สร้างไฟล์ CSV ใน Excel สำหรับรายชื่อติดต่อ (พร้อมขั้นตอน)
- รักษาเลขศูนย์นำหน้าใน Excel CSV ด้วยโปรแกรม
- วิธีเขียนไฟล์ข้อความด้วย Excel VBA
- แมโครแปลง Excel เป็นไฟล์ข้อความคั่นไพป์ (3 วิธี)
- วิธีใช้แมโครแปลงไฟล์ Excel หลายไฟล์เป็น CSV
