[C#] สรุปข้อดี-ข้อเสียในการอ่านกับเขียน Excel จากวิธีต่างๆ

พอดีช่วงนี้มีงานที่ให้ดึงไฟล์จากเว็บมา และเรามาจัดแต่งรูปแบบไฟล์ Excel นั้น เพื่อ Import เข้าระบบครับ โดยผมได้ทดลองศึกษามา และขอเปรียบเทียบข้อดีข้อเสียไว้ เผื่อมีคนอื่นมาใช้งานครับ

แนวทางที่ 1: การใช้ OLEDB

  • จุดเด่น
    • ทำงานได้รวดเร็ว
    • ไม่จำเป็นต้องติดตั้ง Microsoft Office ลงที่เครื่อง
    • Data Type ของแต่ละ Column ระบบจะมองเป็นจากแนวแรกที่อ่าน (อารมณ์เดียวกับการใช้ตารางครับ)
  • จุดด้อย
    • การอ่านข้อมูลเฉพาะตามเงื่อนไข หรือ Pattern ที่กำหนดนั้นทำได้ยาก
    • การแก้ไขไฟล์ Excel นั้นทำได้ยาก

แนวทางที่ 2: การใช้ Excel Interop Object

  • จุดเด่น
    • สามารถจัดการอ่าน/เขียนไฟล์ Excel ที่ซับซ้อนได้ เช่น อ่านตาม Worksheet และอ่านไปที่ Cell A23 ถึง F23 เป็นต้น
  • จุดด้อย
    • ต้องลง Microsoft Office และต้องดูด้วยว่าเวอร์ชันของ DLL นั้นเหมาะสมกับรูปแบบไฟล์ที่ต้องการจัดการ หรือไม่
    • ทำงานได้ช้า เมื่อเทียบกับแนวทางที่ 1

แนวทางที่ 3: ใช้ Component เสริม ที่เป็น Third Party ครับ ซึ่งมีอยู่มากมายลงหาจาก Google ดูครับ

  • จุดเด่น
    • ไม่ต้องมี Code กับการจัดการในส่วนของการติดต่อไฟล์มากมาย
  • จุดด้อย
    • ต้องศึกษาคุณสมบัติของ Component แต่ละตัวว่าเหมาะสมกับงานที่เราต้องการใช้ง่าน หรือไม่ เพราะ ถ้า Requirement เปลี่ยนที่ เราอาจจต้องเปลี่ยน Component เสริม ครับ

แนวทางที่ 4: ใช้ Excel VBA จัดการ

  • จุดเด่น
    • แยกส่วน Code ของ VBA กับ C#
  • จุดด้อย
    • ไม่สามารถทำเป็น Automate ได้ ต้องให้ User กดเอง
    • ต้องมีความเชี่ยวชาญพอสมควรใน VBA เพราะ ถ้าเขียนไม่ดี เผลอจะทำงานได้ช้ามากๆครับ

แนวทางที่ 5: Dump หรือ Export จากฐานข้อมูล โดยใช้พวก Store Procedure จัดการครับ จุดเด่น จุดด้อย คล้ายกับแนวทางที่ 1 ครับ

 


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.