Write Excel File With C#

หลายท่านที่เขียน โปรแกรม ย่อมเคยมีแหละ ว่า บรรดา user ต้องการ report เป็น Excel ไฟล์
มีหลายๆ Solution ที่สามารถ ทำได้

ผมจะกล่าวถึง excel ใน version 97-2003 (นามสกุล .xls) ก่อนนะครับ

1. วิธีแรก คือ ใช้ COM+ (Interop) แต่ วิธีนี้ ในตอนพัฒนาโปรแกรม และ เครื่องที่จะใช้งาน ต้องมี การ Install Excel ด้วย ถึงจะสามารใช้งานได้ และ ติดตรงที่ Version ของ Excel ที่ใช้ต้องตรงกันด้วย

2. การใช้ Write Text ในรูปแบบ CSV ก็ได้การแสดงผล ในรูปแบบ Text ก็มีปัญหาในการแสดงผล
หรือการจัดรูปแบบให้สวยงามได้ยาก

3. การใช้ Crystal Report ช่วย เนื่อง จาก ตัว Crystal Report มี Function ในการ Export ในรูปแบบ
Excel ได้ แต่ก็ ติดในส่วนของ License ในตัว Developer ถ้า ท่านมีการใช้งาน Crytal Report อยู่แล้ว
ก็ไม่น่ามีปัญหาอะไร

4. ใช้การ Write file ในรูปแบบ HTML Format แล้ว Save ออกไปใน File .xls ซึ่ง วิธีนี้ เป็นวิธีที่ผมจะ
มานำเสนอ ในตอนนี้ เนื่องจาก ตัว Programmer เอง ไม่จำเป็นต้องใช้ Driver หรือ Component อื่นๆ
มาช่วยเลย ยกเว้นแค่ ความรู้เรื่อง ภาษา HTML เล็กน้อยเท่านั้นเอง และ ที่เหลือก็แค่ Test ด้วย
Browser เพื่อดูผลลัพธ์


มาว่ากันเลย
ใน Excel Version 97-2000 นั้น มีความสามารถ ในการอ่านไฟล์ HTML อยู่แล้ว สามารถทดสอบได้
โดยลอง เขียน ข้อมูล HTML แล้ว เปิด ด้วย Excel ดู ก็สามารถ แสดงผลได้

ดังนั้น ผมจะใช้หลักการ นี้ ในการเขียน ไฟล์ คือ

1. เขียน HTML ไฟล์ ตามรูปแบบ ที่ต้องการ แล้ว ลอง preview ด้วย browser ดูก่อน ว่า ตรงตาม
ต้องการหรือไม่ จัด format ให้ได้ผลตามต้องการ


2. Save file เป็น .xls

3. ทดสอบ เิปิดด้วย Excel ดู

จริง ๆ หลักการก็คือ อ่านข้อมูล มาแล้วมา write text ในรูปแบบ html format นั่นเอง
จะเห็นได้ว่า จากตัวอย่าง ในส่วนของ Table เราสามารถ Loop เพื่อ นำข้อมูลมาแทรก
ในแต่ละ cell ของ ตารางได้ ลูกเล่นของ html ที่ดีกว่า csv คือ เราสามารถ จัดรูปแบบ
font size, font name หรือ format ต่างๆ ในลูกเล่นของ html ได้นั่นเอง

คราวหน้าผมจะมา แสดงตัวอย่าง code นะครับ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ปัญหาเด็ก กลืน ดินน้ำมัน

ปัญหา Custom Paper Size บน Crystal Report

Function Baht Text บน Crystal Report