PDA

View Full Version : خروجی Excell برای GridView



takparz
سه شنبه 01 مهر 1393, 22:16 عصر
چطور میشه برای gridView یا DataTable خروجی xlsx گرفت که کاربر بتونه فایلو دانلود کنه؟

moferferi
دوشنبه 07 مهر 1393, 14:57 عصر
سلام
روشی که من مدتهاست ازش استفاده میکنم
جهت مطالع بیشتر به وب سایت اقای نصیری (http://www.dotnettips.info/post/525/%D8%AA%D9%88%D9%84%DB%8C%D8%AF-%D9%81%D8%A7%DB%8C%D9%84%E2%80%8C%D9%87%D8%A7%DB%8 C-%D8%A7%DA%A9%D8%B3%D9%84-%D8%AD%D8%B1%D9%81%D9%87%E2%80%8C%D8%A7%DB%8C-%D8%A8%D8%AF%D9%88%D9%86-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D9%86%D8%B5%D8%A8-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87%E2%80%8C%DB%8 C-%D8%A2%D9%81%DB%8C%D8%B3) مراجعه کنید

آموزش گرفتن خروجی اکسل از گرید ویو و دانلود فایل تهیه شده
var newFile = new FileInfo(Server.MapPath("~") + "\\temp\\" + bid + ".xlsx");
if (newFile.Exists)
{
newFile.Delete();
}
DataTable dt = new DataTable();
for (int i = 0; i < grid1.Columns.Count; i++)
{
dt.Columns.Add("column" + i.ToString());
}
foreach (GridViewRow row in grid1.Rows)
{
DataRow dr = dt.NewRow();
for (int j = 0; j < grid1.Columns.Count; j++)
{
string _t = row.Cells[j].Text.Replace("&nbsp;", "");
dr["column" + j.ToString()] = _t;
}

dt.Rows.Add(dr);
}
using (var package = new ExcelPackage(newFile))
{
dt.Columns[0].ColumnName = "ردیف";
dt.Columns[1].ColumnName = "نام خانوادگی دانش آموز";
dt.Columns[2].ColumnName = "نام دانش آموز ";
dt.Columns[3].ColumnName = "کدملی";
dt.Columns[4].ColumnName = "تاریخ تولد";
dt.Columns[5].ColumnName = "نام پدر";
dt.Columns[6].ColumnName = "موبایل پدر";
dt.Columns[7].ColumnName = "نام مادر";
dt.Columns[8].ColumnName = "موبایل مادر";
dt.Columns[9].ColumnName = "cc";


ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("شماره موبایل والدین");
worksheet.Cells["A1"].LoadFromDataTable(dt, true);
worksheet.HeaderFooter.OddHeader.CenteredText = "";
worksheet.Cells["A1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
package.Workbook.Properties.Title = "";
package.Workbook.Properties.Author = "";
package.Workbook.Properties.Subject = "";
worksheet.View.RightToLeft = true;
worksheet.Column(1).Hidden = true;
worksheet.Column(10).Hidden = true;
worksheet.Column(2).AutoFit();
worksheet.Column(3).AutoFit();
worksheet.Column(4).AutoFit();
worksheet.Column(5).AutoFit();
worksheet.Column(6).AutoFit();
worksheet.Column(7).AutoFit();
package.Save();

string path = newFile.FullName; //get file object as FileInfo
System.IO.FileInfo file = new System.IO.FileInfo(path); //-- if the file exists on the server
if (file.Exists) //set appropriate headers
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(file.FullName);
Response.End();
}
else
{
// if file does not exist
Response.Write("This file does not exist.");
}

}

mehrzad_ali
دوشنبه 07 مهر 1393, 16:28 عصر
آموزش Export کردن اطلاعات دیتاگرید به PDF (http://barnamenevisan.org/Articles/Article2353.html)

farghabil
دوشنبه 07 مهر 1393, 20:53 عصر
چطور میشه حالا از طریق سی شارپ واسه اکسل combobox ساخت؟