แก้ไขครั้งสุดท้ายโดย puklit เมื่อ 2018-1-22 19:25
สวัสดีทุกท่านก่อนหน้านี้ผมได้นำเสนอวิธีการนำเข้าไฟล์ Excel เข้ามาสู่โปรแกรมที่เราสร้างขึ้นมาแล้วผ่าน Datagirdview
ไปแล้วโดยโปรแกรมที่เราใช้งาน ส่วนใหญ่จะหลีกหนีไม่พ้นที่ต้องนำข้อมูลจากโปรแกรมของเราไปใช้ต่อในงานอื่น ๆ หรือสรุปทำรายงานบ้าง
ทีนี้ก็จะได้เวลาส่งข้อมูลใน Datagridview ออกไปยังไฟล์ Excel บ้าง (Export data)
ตัวอย่างหน้าฟอร์มหลักที่ผมสร้างขึ้นมีดังนี้
- มี Toolstripbutton สำหรับนำข้อมูลออกจาก Datagridview ไปยัง Excel file
- Datagridview ที่มีข้อมูลจะส่งต่อให้ Excel file
ขั้นตอนการใช้งานก็อ้างอิงลำดับตามรูปนี้ได้เลย
หลังจากกดปุ่ม Save ไปแล้วเมื่อไฟล์ Excel บันทึกเรียบร้อยแล้วโปรแกรมจะเรียกไฟล์ Excel ที่บันทึกไปแล้วขึ้นมาแสดงดังนี้
อ่าวไหนบอกว่าเป็นการ Export data แบบใส่ไข่ทำไมกลายเป็นแบบธรรมดาบ้าน ๆ ไปซะงั้นโค้ดผมน่าจะมี Bug
เดี่ยวผมขอลอง Export ใหม่อีกครั้ง
แล้วก็ได้หน้าตา Export data to Excel fie แบบใส่ไข่ (คล้าย ๆ กับโรตีใส่ไข่) มีดังนี้
1. จัด Alignment ข้อความ / ตัวหนา และเติมสี ตามที่ต้องการ
2. ผสานเซล์ล Merge cell ตามที่ต้องการได้
3. ใส่สูตรใน Excel เพื่อคำนวณได้
4. กำหนดรูปแบบ format cell เป็นสกุลเงิน หรืออยู่ในรูปแบบอื่น ๆ ได้
5.สร้างกราฟเพื่อแสดงข้อมูล พร้อมลูกเล่นได้
จริง ๆ แล้วมันก็เหมือนการเปิด Excel ไฟล์ขึ้นมาแล้วใส่ข้อมูลแล้วตกแต่งไฟล์เหมือนที่เราเคยทำปกติ แต่ในที่นี้เปลี่ยนวิธีคือ สั่งผ่าน VB.NET โดยใช้ Object Excel library เข้าถึงไฟล์ Excel ขึ้นอยู่กับว่าเราต้องการให้ Excel file ของเราเป็นแบบไหน ก็เขียนโค้ดสร้างเอา หากท่านใดเคยได้ลอง VBA ใน Excel มาแล้วคงจะเห็นภาพได้อย่างชัดเจน
สำหรับท่านที่สนใจในการเขียนก่อนอื่นให้เพิ่ม Object Excel library เข้ามาใน Project ที่เราสร้างก่อนตามรูปด้านล่างนี้
หลังจากนั้นก็ให้อ้างอิง Microsoft.Office.Interop.Excel.... ตามโค้ด โดยในที่นี้ผมจะเขียนแบบเต็มเพื่อให้ท่านได้รู้ที่มาของมัน แม้แต่ With / End With ผมก็ไม่ได้ใช้ - Dim ExlApp As New Microsoft.Office.Interop.Excel.Application
คัดลอกไปที่คลิปบอร์ด
หากท่านขี้เกียจเขียนก็ย่อดังนี้ - 'อ้างอิง Excel ไปยัง Object Excel library
- Imports Excel = Microsoft.Office.Interop.Excel
- 'แล้วค่อยเรียกใช้ดังนี้
- Dim ExlApp As New Excel.Application
คัดลอกไปที่คลิปบอร์ด
ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม VB.NET (2015) ได้ที่นี่
|