asp.net导出到Excel的最佳选择
来源:互联网 发布:沈阳北方软件学院 编辑:程序博客网 时间:2024/04/29 09:02
在实际中可能经常要遇到将数据导出到excel中.
在asp.net项目中导出到excel可以有以下三中方法:
可能大家常用的是2和3,特别是在windows项目中那就只能使用方法2了。但是我认为在web asp.net项目中使用第3种更方便。因此我也根据实际需要写了一个类,可以快速调用:
public class ExportHelper
{
public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts,string title)
{
GridView gvw = new GridView();
int ColCount, i;
//如果筛选的字段和对应的列头名称个数相对的情况下只导出指定的字段
if (fields.Length != 0 && fields.Length == headTexts.Length)
{
ColCount = fields.Length;
gvw.AutoGenerateColumns = false;
for (i = 0; i < ColCount; i++)
{
BoundField bf = new BoundField();
bf.DataField = fields[i];
bf.HeaderText = headTexts[i];
gvw.Columns.Add(bf);
}
}
else
{
gvw.AutoGenerateColumns = true;
}
SetStype(gvw);
gvw.DataSource = dataList;
gvw.DataBind();
ExportToExcel(gvw,title);
}
/// <summary>
/// 导出数据到Excel
/// </summary>
/// <param name="DataList">IList Data</param>
/// <param name="Fields">要导出的字段</param>
/// <param name="HeadName">字段对应显示的名称</param>
public static void ExportToExcel(IList dataList, string[] fields, string[] headTexts)
{
ExportToExcel(dataList, fields, headTexts, string.Empty);
}
/// <summary>
/// 设置样式
/// </summary>
/// <param name="gvw"></param>
private static void SetStype(GridView gvw)
{
gvw.Font.Name = "Verdana";
gvw.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
gvw.HeaderStyle.BackColor = System.Drawing.Color.LightCyan;
gvw.HeaderStyle.ForeColor = System.Drawing.Color.Black;
gvw.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center;
gvw.HeaderStyle.Wrap = false;
gvw.HeaderStyle.Font.Bold = true;
gvw.HeaderStyle.Font.Size = 10;
gvw.RowStyle.Font.Size = 10;
}
/// <summary>
/// 导出GridView中的数据到Excel
/// </summary>
/// <param name="gvw"></param>
/// <param name="DataList"></param>
private static void ExportToExcel(GridView gvw,string title)
{
string fileName;
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
fileName = string.Format("Export-File {0:yyyy-MM-dd_HH_mm}.xls", DateTime.Now);
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
gvw.RenderControl(hw);
if (!string.IsNullOrEmpty(title))
{
HttpContext.Current.Response.Write("<b><center><font size=3 face=Verdana color=#0000FF>" +title +"</font></center></b>");
}
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
HttpContext.Current.Response.End();
gvw.Dispose();
tw.Dispose();
hw.Dispose();
gvw = null;
tw = null;
hw = null;
}
}
List <Order> orders=this. GetOrders()
ExportHelper.ExportToExcel(orders,
new string[] { "OrderNo", "CustomerNo", "UserNo", "ModelNo","Quantity","Price","Amount","OrderDate" },
new string[] { "订单","客户代码","用户代码","型号","数量","价格","金额","订货日期"});
}
http://www.cnblogs.com/zhang3533/archive/2008/10/21/1316050.html
- asp.net导出到Excel的最佳选择
- asp.net导出到Excel的最佳选择
- asp.net 导出到Excel
- asp.net 导出到excel
- ASP.NET GridView有选择的导出Excel
- asp.net excel 选择文件夹 批量导出
- ASP.NET的HTMLTable原样导出到Excel
- asp.net导出数据到Excel的三种方法
- ASP.NET 中 DataGrid 导出到 Excel 的封装实现
- asp.net DataGridView导出到Excel的三个方法
- ASP.NET的HTMLTable原样导出到Excel
- asp.net中导出到Excel的方法汇总
- asp.net把数据导出到Excel表格的代码
- asp.net导出数据到Excel的三种方法
- asp.net导出数据到Excel的三种方法
- 完整的asp.net 导出table到Excel中
- asp.net导出数据到Excel的三种方法
- ASP.NET导出数据到Excel
- fedora安装eclipse
- Tomcat在MacOS上的安装及运行
- 如何在linux下用rsync同步文件以及它的用法和scp的用法
- 小小游戏程序员工作两年后的反思
- unzip命令
- asp.net导出到Excel的最佳选择
- linux自动装载Windows下的分区以及bash启动脚本自定义命令
- linux自动装载Windows下的分区以及bash启动脚本自定义命令
- perl 调试
- 动态跟踪循环体 避免“假死”
- 优秀的软件模型设计要点
- linux perl 批量替换文件内容
- 主机字节序和网络字节序
- 给你这么个数列