asp.net webform/mvc导出Excel通用代码

最近将自己在项目中经常用到的excel导出方法分析如下,如有不妥之处望他人指出,如果有更好的方法希望展示出来互相学习。

//导出事件

protected void btnexcel_Click(object sender, EventArgs e)

{

//定义导出Excel的标题

  List<string> tabletitle = new List<string>();
  tabletitle.Add("企业注册号");
  tabletitle.Add("企业名称");
  tabletitle.Add("企业开业日期");

  DataTable dt=GetCompanyList();

Print(dt, tabletitle);

}

/// <summary>
/// 输出Excel
/// </summary>
/// <param name="dt">数据</param>
/// <param name="title">表头</param>
public static void Print(DataTable dt, List<String> title)
{
StringBuilder sHtml = new StringBuilder();
sHtml.Append("<meta http-equiv=‘content-type‘ content=‘application/ms-excel; charset=UTF-8‘/>");
sHtml.Append("<table border=1>");
sHtml.Append("<tr style=‘background-color:#D8DFF1;‘>");
foreach (String s in title)
{
sHtml.Append("<td>");
sHtml.Append(s);
sHtml.Append("</td>");
}
sHtml.Append("</tr>");
foreach (DataRow row in dt.Rows)
{
sHtml.Append("<td style=\"vnd.ms-excel.numberformat:@\">"); //注:style=\"vnd.ms-excel.numberformat:@\"  去除科学计数法表示方式,以文本方式显示。
sHtml.Append(row["zch"].ToString());
sHtml.Append("</td>");
sHtml.Append("<td>");
sHtml.Append(row["qymc"].ToString());
sHtml.Append("</td>");
sHtml.Append("<td>");
sHtml.Append(row["kyrq"] != null && row["kyrq"].ToString() != "" ? Convert.ToDateTime(row["kyrq"]).ToString("yyyy-MM-dd") : "");
sHtml.Append("</td>");
sHtml.Append("</tr>");
}
sHtml.Append("</table>");

System.Web.HttpContext.Current.Response.Charset = "GB2312";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode( DateTime.Now.ToString("yyyyMMddhhmmsss") + ".xls", System.Text.Encoding.UTF8).ToString());
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
System.Web.HttpContext.Current.Response.Output.Write(sHtml);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.End();

}

时间: 2024-10-08 18:16:32

asp.net webform/mvc导出Excel通用代码的相关文章

MVC NPOI Linq导出Excel通用类

之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = 0, Float = 1, Double = 2, String = 3, DateTime = 4, Date = 5 } public class ExportFieldInfo { /// <summary> /// 字段名,用于反射获取值 /// </summary> publi

ASP.NET Core 导入导出Excel xlsx 文件

ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和Mac. EPPlus.Core 是基于EPPlus 更改而来,在Linux 下需要安装libgdiplus . EPPlus:http://epplus.codeplex.com/ EPPlus.Core:https://github.com/VahidN/EPPlus.Core 下面在A

ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)

要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指定目录,然后提供下载. 效果如下: 选中了多行,会导出多个工作簿sheet,一个汇总的,其他的就是明细数据. 这里我使用了NPOI组件来进行excel导出,下面是要几个封装好的类,从网上找的,然后修改了一下. GenerateSheet.cs using NPOI.SS.UserModel; usi

ASP.NET MVC导出excel

前端代码: 1 @Html.ActionLink("导出Excel", "ExportWarehouseInOutDetailTable", new {warehouseInOutId = Model.Id},new {@class = "btn btn-primary pull-right"}) 后端代码 1 public void ExportWarehouseInOutDetailTable(long warehouseInOutId) 2

MVC AJAX导出Excel通用类

通用类: public enum DataTypeEnum { Int = 0, Float = 1, Double = 2, String = 3, DateTime = 4, Date = 5 } public class ExportFieldInfo { /// <summary> /// 字段名,用于反射获取值 /// </summary> public string FieldName { get; set; } /// <summary> /// 中文名,

asp.net中导出Excel通用型

前端请求: <a class="btn btn-default ml-50" href="javascript:Out_Excel();">导出Excel</a> function Out_Excel() { var bdate = $("#tisStartTime").val(); var edate = $("#titsEndTime").val(); var useridx = $("#

ASP.NET WebForm / MVC 源码分析

浏览器 Url:https//localhost:6565/Home/Index ,https//localhost:6565/WebForm1.aspx,请求服务器(构建请求报文,并且将请求报文发送给服务器) 1:服务器(内核模式 Http.sys)对请求报文做基本的处理 2:请求服务器(用户模式,IIS服务器) 2.1:对发送过来的数据做一个检查,如果请求的是静态资源的(.html,jpg,js),那么IIS直接将这些资源返回浏览器 2.2:如果是动态资源(.aspx,.ashx),IIS服

ASP.NET WEBFORM 中导出数据,使用文件流的方式

效果图: 前台使用了gridview控件: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="E_CKBB.aspx.cs" Inherits="DRP.sales.E_CKBB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

MVC导出Excel到客户端

MVC导出数据到Excel详解 今天为大家分享一个利用NPIO导出数据到Excel 客户端的例子!(刚毕业的小白,第一次写博,如有错误 还望各位大咖指正) 1.NPOI官方网站:(http://npoi.codeplex.com/) 需要引用的dll文件如下: 2.用到的ExcelHelper类: 1 using Common.Logging; 2 using NPOI.HPSF; 3 using NPOI.HSSF.UserModel; 4 using NPOI.HSSF.Util; 5 us