كيفية تصدير البيانات الى ملف اكسل

export_to_excel
كيفية تصدير البيانات الى ملف اكسل من خلالASP.NET

السلام عليكم
بعض المدراء يطلب منك تقرير ويشترط أن يكون ملف اكسل
لحل هذ الطلب نقوم بعملية تصدير البيانات الموجودة بقاعدة البيانات الى ملف أكسل تابعوا معي هذا الكود التالي :

SqlConnection sqlcon=new SqlConnection("Data Source=HAGAM;Initial Catalog=Tjr_Data;Persist Security Info=True;User ID=sa;Password=system");
sqlcon.Open();
string strGetAllWBData = "select * from Vehicles";
SqlCommand cmd=new SqlCommand (strGetAllWBData ,sqlcon );

cmd.CommandType =CommandType .Text ; SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = cmd;

DataTable dt = new DataTable(); sda.Fill(dt);

// CALCULATE RUNNING TOTAL (WILL DISPLAY AT THE FOOTER OF EXCEL WORKBOOK.) Decimal dTotalPrice = 0; for (int i = 0; i <= dt.Rows.Count - 1; i++) { // dTotalPrice += dt.Rows[i].Field<Decimal>(2); }

// NOW ASSIGN DATA TO A DATAGRID. DataGrid dg = new DataGrid(); dg.DataSource = dt; dg.DataBind();

// THE EXCEL FILE. string sFileName = "BooksList-" + System.DateTime.Now.Date + ".xls"; sFileName = sFileName.Replace("/", "");

// SEND OUTPUT TO THE CLIENT MACHINE USING "RESPONSE OBJECT". Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=" + sFileName); Response.ContentType = "application/vnd.ms-excel"; EnableViewState = false;

System.IO.StringWriter objSW = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter objHTW = new System.Web.UI.HtmlTextWriter(objSW);

dg.HeaderStyle.Font.Bold = true; // SET EXCEL HEADERS AS BOLD. dg.RenderControl(objHTW);

// STYLE THE SHEET AND WRITE DATA TO IT. Response.Write("<style> TABLE { border:dotted 1px #999; } " + "TD { border:dotted 1px ‪#‎D5D5D5‬; text-align:center } </style>"); Response.Write(objSW.ToString());

// ADD A ROW AT THE END OF THE SHEET SHOWING A RUNNING TOTAL OF PRICE. Response.Write("<table><tr><td><b>Total: </b></td><td></td><td><b>" + dTotalPrice.ToString("N2") + "</b></td></tr></table>");

Response.End(); dg = null;