Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

CSV เป็นรูปแบบที่นิยมใช้กันอย่างแพร่หลาย โดยทั่วไปจำเป็นสำหรับซอฟต์แวร์วิเคราะห์ข้อมูลต่างๆ นอกจากนี้ยังมีความยืดหยุ่นสูง จัดระเบียบและแก้ไขได้ง่าย ด้วยลักษณะยอดนิยมนี้ คุณอาจพบสถานการณ์ที่ต้องแปลงชุดข้อมูลจาก Excel เป็นรูปแบบ CSV เพื่อใช้ในสถานการณ์ต่างๆ ในบทช่วยสอนนี้ จะแสดงวิธีแปลงไฟล์ Excel เป็น CSV แบบอัตโนมัติ

หากต้องการลองทำตามขั้นตอน ได้แนบไฟล์พร้อมชุดข้อมูลสาธิตและโค้ด VBA ไว้ด้านล่าง ลองดาวน์โหลดและฝึกปฏิบัติพร้อมกัน

CSV คืออะไร?

CSV หรือ comma-separated values คือรูปแบบไฟล์ที่ค่าถูกเก็บเป็นสตริง โดยใช้จุลภาค (comma) เป็นตัวคั่น (delimiter) แยกค่าต่างๆ 雖然名字聽起來簡單,但實際上可能比較複雜。附加大量數據後,文件可能會變得很混亂。但某些軟件或編程語言(如 Python 的 Pandas 庫)更喜歡使用這些文件作為輸入。

ข้อดีของการใช้ไฟล์ CSV ได้แก่:

  • ได้รับการยอมรับอย่างกว้างขวางจากผู้ใช้แพลตฟอร์มต่างๆ
  • จัดระเบียบและแก้ไขง่าย
  • ใช้ร่วมกับโปรแกรมสเปรดชีตหลักเกือบทุกตัว เช่น Microsoft Excel หรือ Google Spreadsheet
  • ซอฟต์แวร์ธุรกิจต่างๆ ก็ใช้รูปแบบนี้

ข้อเสียหลักคือ ไฟล์ CSV จำกัดได้แค่หนึ่งสเปรดชีทเท่านั้น ในขณะที่ไฟล์ .xlsx ของ Microsoft Excel สามารถมีหลายสเปรดชีท ที่มีชุดข้อมูลหลายชุดพร้อมกันได้

3 วิธีแปลงไฟล์ Excel เป็น CSV แบบอัตโนมัติ

Excel มีวิธีแปลงสเปรดชีทเป็น CSV หลายวิธี แม้วิธีหลักและนิยมมากที่สุดคือคำสั่ง Save As แต่คุณอาจต้องใช้วิธีอื่น ขึ้นอยู่กับอักขระในชุดข้อมูล หรือว่าต้องการแปลงหลายสเปรดชีทพร้อมกันหรือไม่

เพื่อความเข้าใจง่าย จะแบ่งวิธีต่างๆ ออกเป็นส่วนย่อย พร้อมอธิบายข้อดีข้อเสียของแต่ละวิธี ติดตามเพื่อดูว่าทุกวิธีทำงานอย่างไร หรือหาวิธีที่ต้องการจากตาราง

1. แปลงไฟล์ Excel เป็น CSV อัตโนมัติด้วยคำสั่ง Save As

นี่คือวิธีที่เหมาะสมและนิยมใช้มากที่สุดในการแปลงไฟล์ Excel เป็น CSV อัตโนมัติ หากสเปรดชีทของคุณไม่มีอักขระ Unicode ให้ใช้วิธีนี้เลย เนื่องจากเราสามารถใช้คุณสมบัติ Save As ของ Microsoft แปลงไฟล์เป็นรูปแบบอื่นได้ จึงสามารถใช้แปลง Excel เป็น CSV อัตโนมัติเช่นกัน

ทำตามขั้นตอนด้านล่างสำหรับคำแนะนำโดยละเอียด สำหรับการสาธิต ใช้ชุดข้อมูลดังนี้

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ขั้นตอน:

  • เลือกสเปรดชีทที่ต้องการแปลง (หากมีหลายสเปรดชีทในไฟล์ Excel)
  • ในริบบอน คลิกแท็บ File

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คลิก Save As สามารถข้าม 2 ขั้นตอนก่อนหน้าโดยกด F12 เพื่อเปิดหน้าต่าง Save As ได้เลย

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • ในหน้าต่าง Save As เลือกตำแหน่งบันทึก และเลือก CSV (Comma delimited) ใน Save as type สามารถเลือก CSV UTF-8 ได้เช่นกัน ผลลัพธ์เหมือนกัน

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คลิก Save
  • หากมีหน้าต่างเตือนว่าจะแปลงได้แค่หนึ่งสเปรดชีท (เกิดขึ้นเมื่อมีหลายสเปรดชีท) ให้คลิก OK

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ไฟล์ Excel จะถูกแปลงเป็น CSV อัตโนมัติ

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

สามารถเปิดดูใน Excel ได้ จะแสดงข้อมูลโดยไม่มีรูปแบบต่างๆ

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

อ่านเพิ่มเติม: แปลง Excel เป็น CSV คั่นจุลภาค (2 วิธีง่าย)

2. แปลงไฟล์ Excel เป็น CSV พร้อมอักขระพิเศษ

หากทำตามวิธีก่อนหน้าด้วยสเปรดชีทที่มีอักขระ Unicode อาจเกิดปัญหาเมื่อนำข้อมูลกลับเข้าไปอีก การบันทึกเป็น CSV (comma delimited) จะทำให้อักขระที่ไม่ใช่ ASCII บิดเบือน ดังนั้นหากมีอักขระพิเศษในข้อมูล ให้ทำตาม 2 วิธีนี้เพื่อแปลง Excel เป็น CSV อัตโนมัติโดยไม่บิดเบือนอักขระ

สำหรับทั้ง 2 วิธี ใช้ชุดข้อมูลที่มีตัวอักษรจีนในชื่อภาษาจีนมานดาริน

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ขณะแปลง Excel เป็น CSV อัตโนมัติ สามารถแปลงเป็นรูปแบบ Unicode ทั้ง UTF-8 และ UTF-16 ความแตกต่างหลักคือ UTF-8 เป็นการเข้ารหัสที่กะทัดรัดกว่า และเข้ารหัสอักขระทั่วไปรวมถึงอักษรอังกฤษและตัวเลขด้วย 8 บิต ส่วน UTF-16 เข้ารหัสอย่างน้อย 16 บิตต่ออักขระ แม้จะแปลงเป็นอันไหนก็ได้ผลลัพธ์ CSV คล้ายกัน แตสำหรับอักขระเอเชียอย่างนี้ UTF-16 แนะนำให้ใช้

2.1 บันทึกเป็น CSV UTF-8

UTF-8 กับอักขระ ASCII มีการเข้ารหัสเหมือนไฟล์ ASCII ดังนั้นหากไม่มีอักขระ Unicode มากนักที่ต้องแปลงเป็น CSV ควรแปลงเป็น UTF-8

ขั้นตอนแปลง Excel เป็น CSV UTF-8 อัตโนมัติ:

  • เลือกสเปรดชีทที่ต้องการแปลง (หากมีหลายสเปรดชีท)
  • คลิกแท็บ File จากริบบอน

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คลิก Save As หรือกด F12 ได้เลย

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • ในหน้าต่าง Save As เลือกตำแหน่งบันทึก และเลือก CSV UTF-8 (Comma Delimited) ในช่อง Save as type

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คลิก Save
  • หากมีหลายสเปรดชีท อาจมีหน้าต่างเตือนว่าแปลงได้แค่หนึ่งสเปรดชีท ให้คลิก OK

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

วิธีนี้แปลง Excel เป็น CSV อัตโนมัติพร้อมอักขระพิเศษได้โดยไม่บิดเบือนอักขระ

ไฟล์ CSV ที่ได้จะประมาณนี้ รักษาข้อมูลทั้งหมดไว้

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ถ้าเปิดด้วย Excel จะเป็นแบบนี้

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

2.2 บันทึกเป็น CSV UTF-16

สำหรับอักขระเอเชียเหมือนในชุดข้อมูล แนะนำให้ใช้ UTF-16 ข้อเสียคือใช้ไบต์มากกว่า UTF-8 และไม่เข้ากันได้เต็มที่กับไฟล์ ASCII

อย่างไรก็ตาม หากต้องการแปลง Excel เป็น CSV UTF-16 อัตโนมัติ ทำตามขั้นตอนด้านล่าง

ขั้นตอน:

  • เลือกสเปรดชีทที่ต้องการแปลง (หากมีหลายสเปรดชีท)
  • ไปที่แท็บ File บนริบบอน

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • เลือก Save As หรือกด F12 ได้เลย

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • ในหน้าต่าง Save As เลือกตำแหน่ง และเลือก Save as type เป็น Unicode Text

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คลิก Save จะบันทึกเป็นไฟล์ข้อความ เปิดด้วยโปรแกรมแก้ไขข้อความ เช่น Notepad จะพบว่าข้อมูลคั่นด้วย Tabs

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • คัดลอกช่องว่างแท็บจาก Notepad

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • เปิดกล่อง Find and Replace ใน Notepad โดยกด Ctrl+H
  • ในช่อง Find what วางช่องว่างแท็บ
  • ในช่อง Replace with ใส่จุลภาค (,)
  • คลิก Replace All

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • ปิดกล่อง ทุกช่องว่างแท็บจะถูกแทนที่ด้วยจุลภาค ได้ไฟล์ข้อความคั่นจุลภาค

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • เปลี่ยนนามสกุลไฟล์เป็น .csv ด้วยตนเอง

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ดังนี้ก็แปลง Excel เป็น CSV UTF-16 อัตโนมัติได้แล้ว

อ่านเพิ่มเติม: บันทึก Excel เป็น CSV พร้อมเครื่องหมายคำพูดคู่ (3 วิธีง่ายที่สุด)

3. แปลงไฟล์ Excel เป็น CSV พร้อมหลายชีท

วิธีก่อนหน้าแปลงได้แค่สเปรดชีทเดียวต่อไฟล์ CSV แต่บางครั้งมีหลายสเปรดชีทในไฟล์ Excel และต้องแปลงทุกชีท Microsoft Visual Basic for Applications (VBA) มีคำตอบสำหรับกรณีนี้

เพื่อใช้โค้ด VBA ต้องมีแท็บ Developer บนริบบอน เปิดใช้งานแท็บ Developer หากยังไม่มี

สำหรับการสาธิต ใช้ไฟล์ที่มี 2 ชุดข้อมูลกล่าวมา อยู่ในชีทต่างกัน (หากดาวน์โหลดไฟล์ต้นบทความ จะได้ไฟล์นี้)

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

ทำตามขั้นตอนหากต้องการแปลงหลายชีทเป็น CSV แบบแบทช์ (batch)

ขั้นตอน:

  • ไปที่แท็บ Developer เลือก Visual Basic จากกลุ่ม Code

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • ในหน้าต่าง VBA เลือก Insert แล้วเลือก Module จากเมนูดรอปดาวน์

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

  • เขียนโค้ดต่อไปนี้ในโมดูล:
Sub Batch_Convert_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
  • เขียนโค้ดเสร็จ บันทึกไฟล์ และกด F5 เพื่อรันโค้ด

ทุกสเปรดชีทจะถูกแปลงเป็นไฟล์ CSV แยกกัน ในไดเรกทอรี่ของไฟล์ Excel หลัก

นี่คือไฟล์ CSV ที่แปลงจากสเปรดชีทแรก

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

และนี่คือสเปรดชีทที่สอง

แปลง Excel เป็น CSV อัตโนมัติ: 3 วิธีที่พิสูจน์แล้ว

หมายเหตุ: การแปลงแบทช์ก็จะบิดเบือนอักขระ Unicode ตามที่กล่าวในวิธีที่ 2 หากมีอักขระพิเศษ ให้ใช้วิธีที่ 2 แทน

อ่านเพิ่มเติม: วิธีใช้ Macro แปลงไฟล์ Excel หลายไฟล์เป็น CSV

สรุป

นี่คือวิธีต่างๆ สำหรับสถานการณ์ต่างๆ ในการแปลงไฟล์ Excel เป็น CSV อัตโนมัติ หวังว่าบทความนี้จะมีประโยชน์และให้ข้อมูลที่น่าสนใจ หากมีคำถามหรือข้อเสนอแนะ แจ้งได้ด้านล่าง สำหรับคำแนะนำโดยละเอียดอย่างนี้ โปรดเยี่ยมชม Exceldemy.com

บทความที่เกี่ยวข้อง

  • วิธีแปลงไฟล์ Excel หลายไฟล์เป็น CSV (3 วิธีที่เหมาะสม)
  • Macro แปลง Excel เป็นไฟล์ข้อความคั่น Pipe (3 วิธี)
  • วิธีแปลงไฟล์ Excel เป็นไฟล์ข้อความคั่นจุลภาค (3 วิธี)
  • [แก้ไขแล้ว!] Excel บันทึก CSV ไม่ได้ด้วยจุลภาค (7 วิธีแก้ไข)
  • วิธีแปลง Excel เป็น CSV โดยไม่ต้องเปิดไฟล์ (4 วิธีง่าย)