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();
}
asp.net webform/mvc导出Excel通用代码的更多相关文章
- ASP.NET MVC导出excel
ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...
- MVC NPOI Linq导出Excel通用类
之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...
- Mvc 导出 Excel
Mvc 导出 Excel 之前接触过Webform,winfrom 的导出Excel方法 ,优点:省事.缺点:服务器必须安装Office 这几天做项目 和 大牛学习了一下 新的方法,自己加以总结.希望 ...
- ASP.NET Core导入导出Excel文件
ASP.NET Core导入导出Excel文件 希望在ASP.NET Core中导入导出Excel文件,在网上搜了一遍,基本都是使用EPPlus插件,EPPlus挺好用,但商用需要授权,各位码友若有好 ...
- mvc导出excel 之 新
前段时间做的mvc导出excel 老大说要进行优化,我原来导出是用npoi插件进行导出,格式是将数据放入到datatable中,然后进行导出. 说要优化的时候就想着将datatable数据导出格式改为 ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- java根据xml配置文件导出excel通用方法
java web项目中时常会用到导出功能,而导出excel几乎是每个项目必备的功能之一.针对形形色色的导出方法及个人平时的工作经验,特将导出excel方法整理成通用的方法,根据xml配置来实现特定的导 ...
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
- ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指 ...
随机推荐
- DS二叉树--左叶子数量
题目描述 计算一颗二叉树包含的叶子结点数量. 左叶子是指它的左右孩子为空,而且它是父亲的左孩子 提示:可以用三叉链表法,也可以用现有算法对两层结点进行判断 建树方法采用“先序遍历+空树用0表示”的方法 ...
- 对poi-Excel导入的浅层理解
本文即将对POI方式导入excel文件最核心的步骤予以说明,为的是简单,也是为了阐明文件导入的原理. 文件导入有一个很明显的线索: 1.首先是我们知道硬盘中的文件,即:文件对象File file 2. ...
- 【Zabbix3.0】之入门到精通
https://www.cnblogs.com/clsn/p/7885990.html 饿了么技术债 http://server.51cto.com/sOS-555999.htm
- 【springBoot】之概述
springboot是什么? springboot不是对spring的增强,而是一个快速使用spring进行开发的框架. 其产生的背景是因为随着动态语言(Scala,Groovy)的流行,Java语言 ...
- python3学习笔记二(注释、缩进)
注释 单行注释,用#开头即可 多行注释,用''' ''' 或""" """ 缩进 python不能像其他语言一样采用{}或者begin... ...
- Jenkins XVnc Plugin
Linux下的Jenkins里配置Webdriver项目会碰到如下错误 org.openqa.selenium.firefox.NotConnectedException: Unable to con ...
- 【ZZ】技能表合集
技能表 http://w.itcodemonkey.com/tag/373.html 1 当一名黑客应该学什么?来看看安全工程师技能表 2 软件测试工程师技能表 3 大数据.数据挖掘技能表 4 C/C ...
- Android收发短信
效果:点击发送短信开始发送短信 收到短信时将短信的内容显示出来 代码如下: 一.权限声明 <uses-permission android:name="android.permissi ...
- spring boot controller设置 @Transactional 不回滚的解决办法
@Transactional @ApiOperation(value = "添加一个用户信息") @RequestMapping(value = "/create&quo ...
- tkinter简单使用
第一个运行程序 # -*- coding: utf-8 -*- import tkinter as tk //引入 root = tk.Tk() // 实例化root T大写k小写 root.titl ...