ค้นหาบทความ

โพสต์แนะนำ

ย้าย Blog ไปที่ TechDiary

วันศุกร์ที่ 11 พฤษภาคม พ.ศ. 2555

.NET Save Excel Error: Old Format or Invalid Type Library

ถ้าใช้ VB หรือ C# .NET สร้าง Excel File แล้วเกิด Error ประมาณนี้



Error: 0x80028018 (-2147647512)
Description: Old Format or Invalid Type Library


อาจจะเกิดปัญหาจาก Locale ของเครื่องไม่ตรงกับ ภาษาในเวอร์ชั่นของ excel เช่น ใช้ Excel เวอร์ชั่นภาษาอังกฤษ แต่ Locale ของเครื่องเป็นภาษาไทย เป็นต้น


การแก้ไขคือ ให้ปรับ Locale ในโค้ดเป็น En-US ก่อน แล้วถึงตามด้วยโค้ดที่ทำงานกับไฟล์ Excel พอทำงานกับ Excel เสร็จ ก็ restore locale กลับ เช่น


  'backup ค่า Locale เดิม

  Dim oldCI As System.Globalization.CultureInfo = _
      System.Threading.Thread.CurrentThread.CurrentCulture
  
  'ตั้งค่า Locale ใหม่
  System.Threading.Thread.CurrentThread.CurrentCulture = _
      New System.Globalization.CultureInfo("en-US")


'code ที่ทำงานกับ file Excel
'...


'restore ค่าเดิมกลับ
  System.Threading.Thread.CurrentThread.CurrentCulture=oldCI



ไม่มีความคิดเห็น:

แสดงความคิดเห็น