برای تولید فایل excel از DataTable می توان از EPPlus استفاده کرد.
برای شروع EPPlus را از اینجا دریافت کنید و آن را از حالت فشرده خارج کنید.
سپس در Visual Studio در منوی PROJECT گزینه ی Add Reference را کلیک کنید تا پنجره ای مانند شکل زیر ظاهر شود:
سپس با استفاده از دکمه ی Browse ، فایل دریافتی (EPPlus.dll) را انتخاب کنید.
بعد کدی مانند کد زیر را در فایل (code behind (.aspx.cs یا (generic handler (.ashx.cs قرار دهید:
using OfficeOpenXml;در صورتی که از این کد در generic handler استفاده می کنید، نیازی به
using OfficeOpenXml.Table; //adding library
DataTable dt=GetDT(); //get your DataTable from some method or...
using (ExcelPackage pck = new ExcelPackage())
{
if (dt.Columns.Count > 0)
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("addYourSubjectHere");
ws.Cells["A1"].LoadFromDataTable(dt, true, TableStyles.Medium6);
ws.Cells.AutoFitColumns();
using (ExcelRange rng = ws.Cells)
{
rng.Style.Font.SetFromFont(new Font("Tahoma", 10));
}
pck.Workbook.Properties.Title = "yourTitle";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=Invoice.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.End();
}
}
Response.End();در انتهای کد نیست.