MVC 数据导出
来源:互联网 发布:ubuntu中的火狐浏览器 编辑:程序博客网 时间:2024/06/10 02:17
第一种数据源直接从数据库中取,导出后列表中的列名顺序和sql返回的一致
public ActionResult Export(){ //数据集合 DataSet dtSet=new DataSet (); #region 导出Excel System.Web.UI.WebControls.DataGrid dgExport = null; // 当前对话 System.Web.HttpContext curContext = System.Web.HttpContext.Current; // IO用于导出并返回excel文件 System.IO.StringWriter strWriter = null; System.Web.UI.HtmlTextWriter htmlWriter = null; string filename = HttpUtility.UrlEncode("名称", System.Text.Encoding.UTF8); DataTable dt = dtSet.Tables[0]; foreach (DataRow row in dt.Rows) { #region 业务处理 //字典项转化,列隐藏等 #endregion } if (dt != null) { //设置导出excel的单元的格式为文本类型 string style = @"<style> td { mso-number-format:\@; } </style> "; // 设置编码和附件格式 curContext.Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls"); curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文 curContext.Response.ContentType = "application/vnd.ms-excel"; //System.Text.Encoding.UTF8; // 导出excel文件 strWriter = new System.IO.StringWriter(); htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid dgExport = new System.Web.UI.WebControls.DataGrid(); dgExport.DataSource = dt.DefaultView; dgExport.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center; dgExport.AllowPaging = false; dgExport.DataBind(); dgExport.RenderControl(htmlWriter); // 返回客户端 Response.Write(style); Response.Write(strWriter.ToString()); } return Content(""); #endregion}
第二种自定义列
public ActionResult Export2() { SplitPageResult<Entity> querylist = _zxbasicInfoBO.QuerySplitPage(condition); model.Count = querylist.TotalCount; if (ExportType == -1) { #region 导出Excel string filename = HttpUtility.UrlEncode("Name", System.Text.Encoding.UTF8); byte[] str = null; System.Web.UI.WebControls.DataGrid dgExport = null; // 当前对话 System.Web.HttpContext curContext = System.Web.HttpContext.Current; // IO用于导出并返回excel文件 System.IO.StringWriter strWriter = null; System.Web.UI.HtmlTextWriter htmlWriter = null; DataTable dt = new DataTable(); dt.Columns.Add("序号", Type.GetType("System.Int32")); dt.Columns[0].AutoIncrement = true;//自增 dt.Columns[0].AutoIncrementSeed = 1;//起始为1 dt.Columns[0].AutoIncrementStep = 1;//步长为1 dt.Columns.Add("列名1", Type.GetType("System.String")); dt.Columns.Add("列名1", Type.GetType("System.String")); ..... for (int i = 0; i < model.Count; i++) { DataRow dr = dt.NewRow(); dr["列名1"] = querylist.Items[i].属性; ...... // 绑定数据源 dt.Rows.Add(dr); } if (dt != null) { //设置导出excel的单元的格式为文本类型 string style = @"<style> td { mso-number-format:\@; } </style> "; // 设置编码和附件格式 curContext.Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls"); curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文 curContext.Response.ContentType = "application/vnd.ms-excel"; // 导出excel文件 strWriter = new System.IO.StringWriter(); htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid dgExport = new System.Web.UI.WebControls.DataGrid(); dgExport.DataSource = dt.DefaultView; dgExport.HeaderStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center; dgExport.AllowPaging = false; dgExport.DataBind(); dgExport.RenderControl(htmlWriter); // 返回客户端 Response.Write(style); Response.Write(strWriter.ToString()); } return Content(""); #endregion } else { return View(querylist.Items); } }
0 0
- MVC 数据导出
- MVC中将数据导出Excel
- Asp.net mvc 导出数据至PDF
- MVC小批量数据导出到Excel
- MVC 导出
- MVC导出
- Spring MVC 使用poi sxssf 导出excel 2007 的数据
- 基于Spring3 MVC实现批量导出数据成Excel文件!
- MVC中Excel数据的导入与导出
- asp.net mvc 数据导出excel表及自excel表导入数据到相应表
- spring mvc 导出excel
- spring MVC 导出excel
- MVC 导出CSV
- spring MVC 导出excel
- spring MVC 导出excel
- spring MVC 导出excel
- mvc 导出Excel .
- spring MVC 导出excel
- 主页自定义可拖动组件 2.0版本 (portlet)
- hadoop-1.2.1公平调度算法
- 基于两个字段比较的查询
- wxWidgets读配置文件代码
- C#ASP.NET中四种文件下载方法
- MVC 数据导出
- jquery.masonry瀑布流插件的4个使用步骤
- PostgreSQL 保留关键字添加方法之三,函数中关键字添加方法
- 关于linux nand 驱动调试的一些注意点
- 推荐9款使用CSS3实现的超酷动画效果
- Android应用下植入Google广告
- 初步学习Protected Mode(7)
- FAT12文件系统之数据存储方式详解
- 给GridView文本加上边框