วันอังคารที่ 18 มีนาคม พ.ศ. 2557

[ASP.NET C#] Export exel file

สวัสดีครับทุกท่าน สำหรับใครที่ใช้ C# ASP.Net เขียนเว็บก็อาจจะมีงานที่ต้องไปเชื่อมต่อกับ Database ซึ่งบางครั้งเราก็ต้องการ export ข้อมูลนั้นๆ ออกมาเป็นไฟล์ ซึ่งวันนี้เราจะมาลอง export file exel กันนะครับ

ก่อนอื่นเราจะ export ออกมาเป็น exel โดยเราจะเอา string ไป export ซึ่ง string นั้นต้องสร้างมาจาก table html ก่อน

 string content = "<html><body><table><tr><td>Head1</td><td>Head2</td></tr><tr><td>data1</td><td>data2</td></tr></table></body></html>";  

จะสังเกตว่าจะมี table โดยประกอบด้วย 2 row 2 colum จะได้แบบนี้ครับ

                                                                       Head1              Head2
                                                                       data1                data2

ต่อมาเราจะทำส่วนของการสร้างไฟล์เพื่อให้ดาวน์โหลดกันนะครับ
1:  Response.Clear();  
2:  Response.AddHeader("Content-Disposition", "attachment;filename=myexel.xls");  
3:  Response.ContentType = "application/vnd.xls";  
4:  Response.Cache.SetCacheability(HttpCacheability.NoCache); // not necessarily required  
5:  Response.Charset = "";  
6:  Response.Output.Write(content);  
7:  Response.End();  

บรรทัดที่ 2 ตรง filename คือที่ระบุชื่อไฟล์ output ของเราครับ ผมตั้งไว้ว่า myexel
บรรทัดที่ 6 ให้เรานำตัวแปร string content ของเราใส่ไว้ใน Write(content)

เสร็จแล้วครับ ง่ายมั้ยครับ เพียงแค่เราเอา Code ด้านบนไปวางไว้ใน Button เวลาเรากดปุ่มจะดาวน์โหลด Browser จะโหลดไฟล์ exel ลงเครื่อง


นี่คือไฟล์ exel ที่เราได้ออกมาครับ


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

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