ASP.NET 导出数据表格
功能:可以实现导出整个数据表格或整个页面
public bool ExportGv(string fileType, string fileName)
{
bool flag = false;
try
{
//定义文档类型、字符编码
Response.Clear();
Response.Buffer = true;
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
//2.定义导入文档的类型
HttpContext.Current.Response.ContentType = fileType;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=\"" +
System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
this.Gv.Page.EnableViewState = false;
//定义一个输入流
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
//将目标数据绑定到输入流输出,这里的this可以换成要导出的控件数据
this.RenderControl(hw);
Response.Output.Write(tw.ToString());
Response.Flush();
Response.End();
this.Gv.AllowPaging = false;
flag = true;
}
catch (Exception ex)
{
flag = false;
throw ex;
}
return flag;
}
有时候导出时出现缺少CSS样式的特性,自此补充
public bool exportAndPrint(string fileType, string fileName)
{
bool flag = false;
try
{
//定义文档类型、字符编码
Response.Clear();
Response.Buffer = true;
HttpContext.Current.Response.Charset = "GB2312";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
//2.定义导入文档的类型
HttpContext.Current.Response.ContentType = fileType;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=\"" +
System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
//定义一个输入流
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
//将目标数据绑定到输入流输出
this.RenderControl(hw);
string outStr = "<style> ";
using (System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath("~/CSS/APDetailInfo.css")))
{
outStr += sr.ReadToEnd();
}
outStr += " </style>";
outStr = outStr.Replace("/r/n", "");
outStr = tw.ToString().Replace("<link href=\"CSS/APDetailInfo.css\" rel=\"stylesheet\" />", "");
Response.Output.Write(outStr);
Response.Flush();
Response.End();
flag = true;
}
catch (Exception ex)
{
flag = false;
throw ex;
}
return flag;
}
protected void Export_Click(object sender, EventArgs e)
{
TYKY_OA.Web.Listnation<TYKY_OA.Model.ExtraInfo> pageList = (Listnation<Model.ExtraInfo>)Session["ADAFOTRlistnation"];
if (pageList != null)
{
//由于是导出整个页面,有些控件不想被导出,所以置为空
this.Gv.Columns[10].Visible = false;
//这里是整个DIV的隐藏
this.head.Visible = false;
this.boot.Visible = false;
this.Gv.DataSource = pageList.ObjList;
this.Gv.DataBind();
//ms-word/ms-txt/ms-html/ms-excel
if (!ExportGv("application/ms-excel", "ExportGv.xls"))
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "ExportFailed", "<script>alert('数据导入失败');</script>");
}
this.prev.Disabled = !pageList.FlagPrivous;
this.next.Disabled = !pageList.FlagNext;
this.pageIndex.Text = "当前第" + pageList.CurrentPage + "页" + "(共" + pageList.PageCount + "页)";
this.Gv.DataSource = pageList.GetList();
this.Gv.DataBind();
}
}
public override void VerifyRenderingInServerForm(Control control)
{
// base.VerifyRenderingInServerForm(control);
}
ASP.NET 导出数据表格的更多相关文章
- ASP.NET导出数据到Excel 实例介绍
ASP.NET导出数据到Excel 该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...
- [js]EasyUI导出数据表格(Export DataGrid)
包括 'datagrid-export.js' 文件 <script type="text/javascript" src="datagrid-export.js& ...
- 【转】asp.net导出数据到Excel的三种方法
来源:http://www.cnblogs.com/lishengpeng1982/archive/2008/04/03/1135490.html 原文出处:http://blog.csdn.net/ ...
- thinkphp5中使用excel导出数据表格(包涵图片)
首先使用composer require phpoffice/phpexcel下载安装phpexcel包. 将包放入extend下面. 不附加图片的导出 /** * 导出excel(不带图片) * @ ...
- phpexcel导出数据表格
1.下载phpexcel(李昌辉) 2.在页面引入phpexcel的类文件,并且造该类的对象 include("../chajian/phpexcel/Classes/PHPExcel.ph ...
- asp.net将数据导出到excel
本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...
- ASP如何将table导出EXCEL表格
网页导出excel表格非常常用,对于一些加载<table>的数据网页,经常会用到这种功能,下面和大家分享一下ASP如何导出EXCEL表格 工具/原料 ASP编辑器 方法/步骤 ...
- [转] Asp.Net 导出 Excel 数据的9种方案
湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...
- 导出数据到Excel表格
开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击 ...
随机推荐
- BI报表系统在银行业的应用
在当前大数据的背景下,银行业传统联机业务技术存在开发周期长.不够灵活.大量的业务数据难以充分利用.操作复杂.监控效率低等弊端,多数企业表示需要搭建一个符合银行特色的商业智能平台,把需要的数据和信息集中 ...
- sass入门
SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. SASS 官网介绍: sass is the most mature(成熟的),st ...
- 运用PCA进行降维的好处
运用PCA对高维数据进行降维,有一下几个特点: (1)数据从高维空间降到低维,因为求方差的缘故,相似的特征会被合并掉,因此数据会缩减,特征的个数会减小,这有利于防止过拟合现象的出现.但PCA并不是一种 ...
- 科学计算器(JAVA实现)
前记: 大二学 Java 的时候写的,现在贴上来,只为留念. 再翻代码,自己看着都头疼.一重重的 if 嵌套,当时写得费劲,现在看着更费劲. 代码思想: 代码的大致思想是这样: 首先定义一个算式字符串 ...
- DFA 最小化
NDFA.εNDFA 确定化的细节这里就不总结了,这里说一说DFA最小化的算法. 关于DFA最小化,
- dpctl 工具使用
一.在建立Mininet的时候,需要设置listenPort,这样可以在其它命令行里设置flow net = Mininet( topo=topo, listenPort=6634 ) 二.常见用法m ...
- 错误提示:LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt 的解决方法
最近在win7 系统下,打算利用 cmake 生成项目文件,然后用vs2010进行编译.但是在cmake的时候出现错误弹窗:
- Tomcat 7.0的配置
一.安装JDK 1.7 1.添加环境变量:在我的电脑->属性->高级->环境变量 2.新建系统变量,变量名:JAVA_HOME 变量值:C:\Program Fi ...
- Using Internal EEPROM of PIC Microcontroller
There are commonly three types of memories in a PIC Microcontroller, Flash Program Memory, Data Memo ...
- 转 Android RadioButton设置选中时文字和背景颜色同时改变
主要应用在购物车,像淘宝的那样,点击以后弹出一个选择种类颜色这样的popuwindow以后,然后这个选择种类的地方要用到类似这个玩意儿. 搜了一下,效果和这个文章一致.转了. 原文地址:http:// ...