سرشار از زندگی

طبقه بندی موضوعی

تولید فایل excel از DataTable در نرم افزارهای تحت وب #C

پنجشنبه, ۲۴ بهمن ۱۳۹۲، ۰۳:۳۲ ب.ظ

برای تولید فایل excel از DataTable می توان از EPPlus استفاده کرد.

برای شروع EPPlus را از اینجا دریافت کنید و آن را از حالت فشرده خارج کنید.

سپس در Visual Studio در منوی PROJECT گزینه ی Add Reference را کلیک کنید تا پنجره ای مانند شکل زیر ظاهر شود:


سپس با استفاده از دکمه ی Browse ، فایل دریافتی (EPPlus.dll) را انتخاب کنید.

بعد کدی مانند کد زیر را در فایل (code behind (.aspx.cs یا (generic handler (.ashx.cs قرار دهید:

using OfficeOpenXml;
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();
}
}
در صورتی که از این کد در generic handler استفاده می کنید، نیازی به 
Response.End();
 در انتهای کد نیست.

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی