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 ตามปกติ