C#将数据导出到Execl汇总

一、asp.net中导出Execl的方法:

在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。

1、将整个html全部输出execl

此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中。

Response.Clear();
Response.Buffer=  true;
Response.AppendHeader("Content-Disposition","attachment;filename="+DateTime.Now.ToString("yyyyMMdd")+".xls");
Response.ContentEncoding=System.Text.Encoding.UTF8;
Response.ContentType  =  "application/vnd.ms-excel";
this.EnableViewState  =  false;

这里我们利用了ContentType属性,它默认的属性为text/html,这时将输出为超文本,即我们常见的网页格式到客户端,如果改为ms-excel将将输出excel格式,也就是说以电子表格的格式输出到客户端,这时浏览器将提示你下载保存。ContentType的属性还包括:image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 。同理,我们也可以输出(导出)图片、word文档等。下面的方法,也均用了这个属性。

2、将DataGrid控件中的数据导出Execl

上述方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据。

System.Web.UI.Control ctl=this.DataGrid1;
//DataGrid1是你在窗体中拖放的控件
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();

如果你的DataGrid用了分页,它导出的是当前页的信息,也就是它导出的是DataGrid中显示的信息。而不是你select语句的全部信息。

为方便使用,写成方法如下:

public void DGToExcel(System.Web.UI.Control ctl) 
{
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType ="application/ms-excel";
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}

用法:DGToExcel(datagrid1);

时间: 2024-10-09 20:17:09

C#将数据导出到Execl汇总的相关文章

ASP如何通过OWC把网页数据导出EXECL文件

数据|网页|owc ASP通过OWC组件把网页数据导出EXECL文件,实现代码如下: <%'先要用regsvr32.exe msowc.dll注册owc组件(msowc.dll安装office2000后就有了,在office的安装目录下搜索*owc*.chm可找到这关于owc的帮助文档)Dim objOWCDim ExeclFileName ExeclFileName = server.mappath("ExeclText.xls")Set objOWC = Server.Cre

asp.net导出excel数据的常见方法汇总_实用技巧

本文实例讲述了asp.net中一些常用的excel数据导出方法,同时也介绍了在数据导入或导出时可能碰到的一些问题总结,分享给大家供大家参考.希望文章对你会有所帮助.具体实现方法如下: 1.由dataset生成 复制代码 代码如下: public void CreateExcel(DataSet ds,string typeid,string FileName)    {    HttpResponse resp;    resp = Page.Response;    resp.ContentE

ASP.NET(C#)将数据导出到Word或Excel

  最简单的方法是把页面上所有的东西都导出 在载入时调用,注意页面里不能有其它控件,包括按钮 void converttoexcel() { Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.

dataGridView 导出为execl ,date格式?

问题描述 SaveFileDialogsaveFileDialog=newSaveFileDialog();saveFileDialog.Filter="Execl文件(*.xls)|*.xls";saveFileDialog.FilterIndex=0;saveFileDialog.RestoreDirectory=true;saveFileDialog.CreatePrompt=true;saveFileDialog.Title="导出为Execl文件";sav

利用PHPExcel将数据导出到xls格式的excel文件

在开发某地的经营许可证管理系统的时候需要将数据导出打excel文件,虽然一年前做某集团的ERP的时候用到过一次导入和导出,但是那时候太忙没时间写博客,一年过去了我也忘的差不多了,所以趁着今天将此次的使用写到博客中,作为以后开发的一个参考,免得再次使用的时候需要导出找资料,也给其他同行一个参考.作者:DragonDean,博客地址:http://www.cnblogs.com/dragondean/   什么是PHPExcel? PHPExcel 是用来操作Office Excel 文档的一个PH

一个将数据导出到EXCEL的存储过程

excel|存储过程|数据 /*--数据导出EXCEL  导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件 ,如果文件不存在,将自动创建文件 ,如果表不存在,将自动创建表 基于通用性考虑,仅支持导出标准数据类型作者:邹建--*/ /*--调用示例  p_exporttb @sqlstr='select * from 地区资料'  ,@path='c:\',@fname='aa.xls',@sheetname='地区资料'--*/ create proc p_exporttb@

我写的一个将数据库数据导出到EXCEL的类(ASP)

excel|数据|数据库 clsExport2Excel.asp<%'类开始Class clsExport2Excel '声明常量.变量Private strFilePath,strTitle,strSql,strField,strRows,strColsPrivate strCn,strHtml,strPathPrivate objDbCn,objRsPrivate objXlsApp,objXlsWorkBook,objXlsWorkSheetPrivate arrField '初始化类Pr

解决google webmaster tool数据导出乱码问题

这是一个众所周知的seo一大利器,在使用的时候确实可以帮助我提升seo效率,应该每一个SEOer都应该去申请使用的seo基础工具.我本人也google网站管理员工具的一大爱好者,觉得这个工具确实是在工作当中帮助了我解决很多的问题,比如简单的HTML错误到复杂的网站被别人恶意攻击等等,google网站管理员工具都能够几时发现问题,并给出合理的修改意见,从而节省了不必要的时间,提高了SEO工作效率. google webmaster tool当中我个人喜欢把数据导出来分析,因为这样比较细一点,也可以

机房收费系统的实现:VB中如何将MSHFlexGrid控件中的数据导出到Excel

机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系统,不过并没有涉及到这个功能,因此记录于此,于己,回顾反思,于大家,分享学习. 方法一:在根目录中事先建立空的Excel表格 1.在与VB工程同一根目录中建立将要导入数据的Excel表格: 2.在VB事件中写代码: Private Sub cmdExport_Click() Dim i As Int