★(ChengKing)【夜战鹰】【迎接光辉岁月|说声真的爱你|踏着灰色轨迹|遥望大地情人】★

[首页♂] 【夜战鹰的博客】【专注于DotNet技术】【ChengKing(ZhengJian)】

用户操作
[即时聊天] [发私信] [加为好友]
郑健ID:ChengKing
527417次访问,排名81好友134人,关注者213
2006~2009 MS-MVP, MSDN中文技术论坛版主
【夜战鹰】【ChengKing(ZhengJian)】
ChengKing的文章
原创 173 篇
翻译 0 篇
转载 0 篇
评论 866 篇
【郑健(ChengKing)】【夜战鹰】的公告
【在这里放广告】
【夜战鹰的博客】
【专注于.Net技术】【.Net控件开发】
技术交流/合作联系方式:
【MSN/Email:King.Zheng@hotmail.com】

【下面是快速分类链接, 若想查看本Blog所有文章可以点击下面[文章]区域块的按技术分类的各个链接】


(1). Net 教程系列(Asp.net/
Ajax/JQuery/SilverLight/控件开发等)


(2). NET系列丛书

(3). C# GAME

(4). 网站(学习/源代码资源下载)

(5). 用友软件园工作环境

(2006~2009 MS-MVP)


相关文章,我尽量提供了图片示例和代码下载链接!
[如果遇到问题请给我发信息]
您可以直接点击相应链接进行下载 :)

如果文章对您有所帮助,请支持一下!
如果文章有不正确的地方,敬请指点!
多谢!!!!!

请选择下面链接,可以分类别的阅读文章:

最近评论
kwlong2008:来看看朋友,最近过的怎么样?俺的空间是介绍网站制作网站建设的,有时间也常去一下我的空间谢谢,好帖!
受用啦
xinosga:好帖!
受用啦
letian_fly:真的很感人,很想知道,是故事,还是个真实的事实!
Chrisliudong:为什么会出现这种错误呢
文章分类
收藏
    相册
    技术活动
    九峰山留念
    在 OWIWP 日子
    在用友软件日子
    Good Blogs
    BennyMavis(水晶报表)(RSS)
    Bruce Zhang(RSS)
    cityhunter172(RSS)
    Clingingboy(RSS)
    dudu(RSS)
    goody9807(RSS)
    huangkw007(RSS)
    LoveCherry(RSS)
    mapserver(RSS)
    Rickie Lee(RSS)
    saucer(RSS)
    Scott Guthrie 博客中文版[CSDN,译者思归](RSS)
    Scott Guthrie 博客中文版[博客堂](RSS)
    Silverlight上海团队(RSS)
    singlepine(RSS)
    TerryLee(RSS)
    zjcxc(RSS)
    中国龙(RSS)
    叶帆(刘洪峰)(RSS)
    吕震宇(RSS)
    孟子E章(.net)(RSS)
    孟宪会(RSS)
    孟岩(RSS)
    寒羽枫(RSS)
    张友邦[架构专家](RSS)
    推荐系列(自TerryLee)(RSS)
    曾登高(RSS)
    朱春雷[软件工程](RSS)
    李宁(RSS)
    李维(RSS)
    清清月儿[黄鸣](RSS)
    王洪伟(SOA专家)(RSS)
    王磊(webabcd)(RSS)
    白慧冬(青润)[软件工程](RSS)
    胡百敬(RSS)
    蝈蝈俊.net(RSS)
    袁峰(RSS)
    谭振林(RSS)
    赵劼(RSS)
    速马(RSS)
    郑昀(RSS)
    陈黎夫(RSS)
    陕北吴旗娃(RSS)
    青润意愿(RSS)
    飞驰之剑(RSS)
    马宁(RSS)
    Good Sites
    4guysfromrolla.com(RSS)
    asp.net(RSS)
    aspalliance.com(RSS)
    beansoftware.com(RSS)
    codeplex.com(RSS)
    codeproject.com(RSS)
    c-sharpcorner.com(RSS)
    dotnetbips.com(RSS)
    dotnetslackers.com(RSS)
    hookedonlinq.com(RSS)
    MSDN Code Gallery(RSS)
    msdn en(RSS)
    Nikhil Kothari(RSS)
    Scott Guthrie(RSS)
    sourceforge.net(RSS)
    其它链接
    2006年100首好歌(RSS)
    2006年十二星座运程目录(RSS)
    2006年十二生肖运程运势(RSS)
    地图(RSS)
    社区/官方文档
    CSDN社区(RSS)
    MSDN网站(RSS)
    博客堂(RSS)
    微软Asp.net 2.0官方网站(RSS)
    微软Visual Studio 专区(RSS)
    微软中国社区(RSS)
    微软中文技术社区(RSS)
    文章链接
    C# Excel报表(RSS)
    CSDN新版图形验证码初级识别 (RSS)
    JavaScript技巧(一)(RSS)
    JavaScript技巧(二)(RSS)
    MINE类型(RSS)
    Share Point(RSS)
    多级下拉菜单(singlepine)(RSS)
    星月同辉 e路随行(文件下载)(RSS)
    我的其它Blog
    My IT博客网 Blog(RSS)
    My 博客园 Blog(RSS)
    My 博客园 blog(RSS)
    学习站点
    ASP.NET架构师[群组](RSS)
    Asp.net频道专家圈(RSS)
    King's CSDN下载资源(RSS)
    Microsoft XNA游戏开发网(RSS)
    象棋研究(RSS)
    优秀团队列表
    .Net 商业智能(RSS)
    .NetFramework3.0&WinFX团队(RSS)
    .NET控件与组件开发(RSS)
    ASP.NET AJAX学习(RSS)
    Asp.net(C#)四层架构自助建站系统(RSS)
    Design&Pattern团队(RSS)
    Dot Net Web服务和Windows服务开发(RSS)
    DotNet频道→ASP.NET(RSS)
    Enterprise Library(RSS)
    O/R Mapping团队(RSS)
    SharePoint团队(RSS)
    Skin设计小组(RSS)
    SOA研究室(RSS)
    Windows Mobile 应用开发(RSS)
    博客园培训团队(RSS)
    开源项目团队(RSS)
    自动识别与数据采集(RSS)
    计算机图形学(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)收藏

    新一篇: AjaxPro.NET框架生成高效率的Tree(Asp.net 2.0)(示例代码下载)  | 旧一篇: AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)

    (一) . 运行示例图

     1. 待导出数据的GridView图:

    2. 生成的Excel文件

    (二). 代码

     1. 前台页面 GridViewToExcelFile.aspx 代码:

     1<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="GridViewToExcelFile.aspx.cs" Inherits="_Default" %>
     2
     3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4
     5<html xmlns="http://www.w3.org/1999/xhtml" >
     6<head runat="server">
     7    <title>Untitled Page</title>
     8</head>
     9<body>
    10    <form id="form1" runat="server">
    11    <div>
    12        <asp:GridView ID="gvFoods" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" EnableViewState="true">
    13            <FooterStyle BackColor="Tan" />
    14            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
    15            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
    16            <HeaderStyle BackColor="Tan" Font-Bold="True" />
    17            <AlternatingRowStyle BackColor="PaleGoldenrod" />
    18        </asp:GridView>
    19        <br />
    20        <asp:Button ID="Button1" runat="server" BackColor="#C0C0FF" OnClick="Button1_Click"
    21            Text="Create Excel" Width="137px" />
    22    </div>
    23    </form>
    24</body>
    25</html>

     2. 页面后台文件 GridViewToExcelFile.aspx.cs 代码:

      1 using System;
      2 using System.Data;
      3 using System.Configuration;
      4 using System.Web;
      5 using System.Web.Security;
      6 using System.Web.UI;
      7 using System.Web.UI.WebControls;
      8 using System.Web.UI.WebControls.WebParts;
      9 using System.Web.UI.HtmlControls;
     10 using System.IO;
     11 using System.Text;
     12 using System.Collections;
     13 
     14 public partial class _Default : System.Web.UI.Page 
     15 {
     16     protected void Page_Load(object sender, EventArgs e)
     17     {
     18        if(!Page.IsPostBack)
     19        {
     20           CreateStructure();
     21           this.gvFoods.DataSource = this.CreateData();
     22           this.gvFoods.DataBind();
     23        }
     24     }
     25    private DataTable CreateStructure()
     26    {
     27       DataTable dt = new DataTable();
     28       dt.Columns.Add(new DataColumn("CategoryID", typeof(int)));
     29       dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
     30       dt.Columns.Add(new DataColumn("Price", typeof(int)));      
     31       return dt;
     32    }
     33    public DataSet CreateData()
     34    {
     35       DataSet ds = new DataSet();
     36       DataTable dt = this.CreateStructure();
     37 
     38       DataRow drNew = dt.NewRow();      
     39       drNew = dt.NewRow();
     40       drNew["CategoryID"] = 1;
     41       drNew["CategoryName"] = "Apple";
     42       drNew["Price"] = 2;
     43       dt.Rows.Add(drNew);
     44 
     45       drNew = dt.NewRow();
     46       drNew["CategoryID"] = 2;
     47       drNew["CategoryName"] = "Banana";
     48       drNew["Price"] = 3;
     49       dt.Rows.Add(drNew);
     50 
     51       drNew = dt.NewRow();
     52       drNew["CategoryID"] = 3;
     53       drNew["CategoryName"] = "Orange";
     54       drNew["Price"] = 1;
     55       dt.Rows.Add(drNew);
     56 
     57       drNew = dt.NewRow();
     58       drNew["CategoryID"] = 4;
     59       drNew["CategoryName"] = "Radish";
     60       drNew["Price"] = 2;
     61       dt.Rows.Add(drNew);
     62 
     63       drNew = dt.NewRow();
     64       drNew["CategoryID"] = 5;
     65       drNew["CategoryName"] = "Pen";
     66       drNew["Price"] = 3;
     67       dt.Rows.Add(drNew);
     68 
     69       drNew = dt.NewRow();
     70       drNew["CategoryID"] = 6;
     71       drNew["CategoryName"] = "Pencil";
     72       drNew["Price"] = 7;
     73       dt.Rows.Add(drNew);
     74 
     75       drNew = dt.NewRow();
     76       drNew["CategoryID"] = 7;
     77       drNew["CategoryName"] = "Ruler";
     78       drNew["Price"] = 3;
     79       dt.Rows.Add(drNew);
     80 
     81       drNew = dt.NewRow();
     82       drNew["CategoryID"] = 8;
     83       drNew["CategoryName"] = "Eraser";
     84       drNew["Price"] = 5;
     85       dt.Rows.Add(drNew);
     86 
     87       ds.Tables.Add( dt );
     88       return ds;
     89    }
     90    protected void Button1_Click(object sender, EventArgs e)
     91    {     
     92       StringWriter sw = new StringWriter();
     93       HtmlTextWriter htw = new HtmlTextWriter(sw);
     94       this.gvFoods.RenderControl(htw);
     95       string strHtml = sw.ToString().Trim();
     96 
     97       string ExcelFileName = "FoodList.xls";
     98       string FilePhysicialPathName = Request.PhysicalApplicationPath;      
     99       
    100       //生成的Excel文件名
    101       string objectExcelFileName = Path.Combine(FilePhysicialPathName, ExcelFileName);
    102 
    103       if( File.Exists( objectExcelFileName ))
    104       {
    105          File.Delete(objectExcelFileName);
    106       }
    107       FileStream fs = new FileStream(objectExcelFileName, FileMode.Create);
    108       BinaryWriter bw = new BinaryWriter(fs, Encoding.GetEncoding("GB18030"));
    109       bw.Write(strHtml);
    110       bw.Close();
    111       fs.Close();
    112 
    113    }
    114    public override void VerifyRenderingInServerForm(Control control)
    115    {
    116       //base.VerifyRenderingInServerForm(control);
    117    }  
    118 }
    119 

    (三). 示例代码下载

            http://www.cnblogs.com/Files/ChengKing/GridViewToExcel.rar

    发表于 @ 2006年08月27日 20:07:00|评论(loading...)|收藏

    新一篇: AjaxPro.NET框架生成高效率的Tree(Asp.net 2.0)(示例代码下载)  | 旧一篇: AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)

    评论

    #.net 发表于2006-09-01 14:32:00  IP: 218.249.83.*
    大侠,把背景音乐去掉吧。太小儿科了。好不~
    #ChengKing 发表于2006-09-01 14:43:00  IP: 218.30.165.*
    To .net:
    打开网页时, 你可以按浏览器上面工具栏的 <衩号> 按钮, 背景音乐就会停止.
    #ChengKing 发表于2007-01-14 15:24:22  IP: 202.106.160.*
    背景音乐已经去掉.
    #zhangzeshuai 发表于2007-01-15 15:22:44  IP: 202.196.65.*
    不行呀!导不出来。
    #zhangzeshuai 发表于2007-01-15 15:26:38  IP: 202.196.65.*
    类型“GridView”的控件“gvFoods”必须放在具有 runat=server 的窗体标记内

    这样提示,我是新手,是在改不出来,要交进度了,我的又完不成了,哪里出问题了。
    #ChengKing 发表于2007-01-16 09:59:56  IP: 202.106.160.*
    请具体点! 上面代码运行没有问题.可能是你修改了代码导致的问题.
    #hnzwfc 发表于2007-01-29 09:26:07  IP: 61.48.58.*
    您好,我想请问您怎么能导出GridControl的2层数据(父表和子表数据)为excel?我用的是winform。
    #keed 发表于2007-04-12 17:20:29  IP: 60.216.155.*
    xiexie
    #5184520 发表于2007-08-27 18:29:25  IP: 221.4.188.*
    楼主实在太伟大了,如此精炼的代码都提供出来了!
    不过使用中发现有个不够完美的地方:就是生成的EXcel文件的第一行怎么老是有一个问号存在呢?
    楼主您的截图没有第一行,不知道是否也是存在这个小问题呢?可否告知如何解决?
    我的邮件5184520◎163.com
    非常期待您的指点^_^
    #5184520 发表于2007-08-27 21:45:57  IP: 221.4.188.*
    另外还想请教大侠一个问题:如果设定为不显示gridview的话,导出文件一片空白,请问该如何处理呢?
    #老流氓 发表于2007-10-26 16:40:13  IP: 61.141.94.*
    配置错误
    说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

    分析器错误信息: 未能加载文件或程序集“Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”或它的某一个依赖项。系统找不到指定的文件。

    源错误:


    行 20: <compilation debug="true">
    行 21: <assemblies>
    行 22: <add assembly="Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/></assemblies></compilation>
    行 23: <!--
    行 24: The <authentication> section enables configuration


    源文件: E:\lzj\GridViewToExcel\web.config 行: 22

    程序集加载跟踪: 下列信息有助于确定程序集“Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”无法加载的原因。


    警告: 程序集绑定日志记录被关闭。
    要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
    注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
    要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。


    原程序一字未改,出现如上错误提示。
    google了下 ,从ms网站下了ocw组件安装,问题仍旧。

    望得到您的指点!
    email:sz1235net@126.com
    #55 发表于2007-11-15 16:21:31  IP: 222.217.43.*
    类型“CheckBox”的控件“dbStaffList__ctl3_chkStaff_ID”必须放在具有 runat=server 的窗体标记内。
    #55 发表于2007-11-15 16:22:59  IP: 222.217.43.*
    出现这个问题。是什么回事啊?希望楼主尽快帮忙!
    类型“CheckBox”的控件“dbStaffList__ctl3_chkStaff_ID”必须放在具有 runat=server 的窗体标记内。
    #lschenjin 发表于2008-01-14 10:55:52  IP: 172.24.201.*
    Server Error in '/GridViewToExcel' Application.
    --------------------------------------------------------------------------------

    Configuration Error
    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

    Parser Error Message: Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.

    Source Error:


    Line 20: <compilation debug="true">
    Line 21: <assemblies>
    Line 22: <add assembly="Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"/></assemblies></compilation>
    Line 23: <!--
    Line 24: The <authentication> section enables configuration


    Source File: C:\Documents and Settings\jinbc\Desktop\GridViewToExcel\GridViewToExcel\web.config Line: 22

    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' could not be loaded.


    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the regi
    #北京seo 发表于2008-06-27 15:56:57  IP: 125.33.247.*
    北京seo
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 【郑健(ChengKing)】【夜战鹰】