ปัญหาฟิลด์ Date ในการ Export จาก .xlsx ไปเป็น .csv

Saving to CSV in Excel loses regional date format

การ Export จาก .xlsx ไปเป็น .csv จะเจอปัญหากับฟิลด์ที่เป็น Date เช่น คอลัมน์ Birthday (Date)

เมื่อ Export เป็น .csv จะได้

Birthday (Date),Birthday (Text),Birthday (Value)
1/01/1957,01/01/1957,01/01/1957
31/01/1967,31/01/1967,31/01/1967
30/04/1977,30/04/1977,30/04/1977

จะเห็นได้ว่าคอลัมน์ Birthday (Date) แถวแรกมีจำนวนหลักไม่ครบ แทนที่จะได้ 01/01/1957 แต่ได้ 1/01/1957 ทำให้เมื่อใช้คำสั่ง C#

DateTime.ParseExact(birthday, "dd/MM/yyyy", new CultureInfo("en-US"))

แล้วจะ Error

วิธีแก้คือสร้างคอลัมน์ Birthday (Text) แล้วใช้สูตร

=TEXT(A2,"dd/mm/yyyy")

จากนั้น copy คอลัมน์ Birthday (Text) แล้ว “paste as value” ลงคอลัมน์ Birthday (Value)

เสร็จแล้วนำคอลัมน์ Birthday (Value) ไปทับคอลัมน์ Birthday (Date) แล้วลบคอลัมน์ Birthday (Text) เสร็จแล้วก็ export ตามปกติ