GridView格式化导出Excel

原创 2007年09月18日 08:47:00

有时候需要按规则导出到Excel中,用模板的方法外,我提供一个简易的:

1 核心代码如下:

   /// <summary>
    
/// 导出到Excel
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>

    protected void ButtonExcel_Click(object sender, EventArgs e)
    
{
        Response.ClearContent();

        Response.AddHeader(
"content-disposition""attachment; filename=ttt.xls");

        Response.ContentType 
= "application/excel";

        StringWriter sw 
= new StringWriter();

        HtmlTextWriter htw 
= new HtmlTextWriter(sw);
        
        GridViewXinXiLan.RenderControl(htw);
        Response.Write(sw);

        Response.Write(
"<table><tr><td>fdsa</td><td>,df</td></tr></table>");
        Response.Write(
"<font size=10 color=red>单位负责人:</font>");
        Response.Write(
"<p>  ");
        Response.Write(
"第二个测试  ");
        Response.Write(
"<br>");
        Response.Write(
"this is a test!");
        Response.Write(
"<br>");
        Response.Write(
"统计负责负责人:");

        Response.End();

    }


    
/// <summary>
    
/// 必须要的
    
/// </summary>
    
/// <param name="control"></param>

    public override void VerifyRenderingInServerForm(Control control)
    
{

    }

  Response.Write("<table><tr><td>单位负责人</td><td> </td><td>统计负责人:</td></tr></table>");

2 测试效果图

并且可以和表头设置相结合:

 

 protected void GridViewXinXiLan_RowCreated(object sender, GridViewRowEventArgs e)
    
{
          
switch (e.Row.RowType)
        
{
            
case DataControlRowType.Header:
                
//第一行表头
                TableCellCollection tcHeader = e.Row.Cells;
                tcHeader.Clear();
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
0].Attributes.Add("rowspan""3"); //跨Row
                tcHeader[0].Attributes.Add("bgcolor""white");
                tcHeader[
0].Text = "";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
1].Attributes.Add("bgcolor""Red");
                tcHeader[
1].Attributes.Add("colspan""6"); //跨Column
                tcHeader[1].Text = "全部信息</th></tr><tr>";

                
//第二行表头
                tcHeader.Add(new TableHeaderCell());
                tcHeader[
2].Attributes.Add("bgcolor""DarkSeaGreen");
                tcHeader[
2].Text = "身份证号码";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
3].Attributes.Add("bgcolor""LightSteelBlue");
                tcHeader[
3].Attributes.Add("colspan""2");
                tcHeader[
3].Text = "基本信息";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
4].Attributes.Add("bgcolor""DarkSeaGreen");
                tcHeader[
4].Text = "福利";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
5].Attributes.Add("bgcolor""LightSteelBlue");
                tcHeader[
5].Attributes.Add("colspan""2");
                tcHeader[
5].Text = "联系方式</th></tr><tr>";

                
//第三行表头
                tcHeader.Add(new TableHeaderCell());
                tcHeader[
6].Attributes.Add("bgcolor""Khaki");
                tcHeader[
6].Text = "身份证号码";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
7].Attributes.Add("bgcolor""Khaki");
                tcHeader[
7].Text = "姓名";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
8].Attributes.Add("bgcolor""Khaki");
                tcHeader[
8].Text = "出生日期";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
9].Attributes.Add("bgcolor""Khaki");
                tcHeader[
9].Text = "薪水";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
10].Attributes.Add("bgcolor""Khaki");
                tcHeader[
10].Text = "家庭住址";
                tcHeader.Add(
new TableHeaderCell());
                tcHeader[
11].Attributes.Add("bgcolor""Khaki");
                tcHeader[
11].Text = "邮政编码";
                
break;
        }

    }

 

效果图:

将GridView显示的内容导出为Excel

1.      在页面文件里有一个GridView,假定ID为GridView_CheckStat 2.      用户访问到GridView显示的内容之后点击一个导出按钮 3.      方...
  • ajaxtop
  • ajaxtop
  • 2011年08月08日 21:13
  • 5933

通过模板将GridView导出为Excel

在网页中做复杂报表都是一件很痛苦的事情,如果做好之后又要打印成和excel模板中一模一样的格式那就更痛苦了,调试工作量那叫一个强。最近也在做一个这样的项目,为了规避打印的问题,我想是不是可以通过他们已...
  • shouhuzhe
  • shouhuzhe
  • 2011年06月16日 09:54
  • 1010

解决gridview导出到excel中汉字出现乱码的问题

解决gridview导出到excel中汉字出现乱码的问题
  • li_ser
  • li_ser
  • 2010年10月31日 09:55
  • 964

Asp.net Gridview 导出到Excel【解决编码乱码问题】

public override void VerifyRenderingInServerForm(Control control) { } protected void LinkBut...
  • pridescc
  • pridescc
  • 2012年09月07日 10:30
  • 1676

在ASP.NET中GridView导出Excel的快速方法

此方法最有效,所以贴出来与大家分享 protected void btnOutExcel_Click(object sender, EventArgs e) { ...
  • qiuzhengxiang
  • qiuzhengxiang
  • 2012年02月02日 13:22
  • 6187

js导出gridview到excel

var tableToExcel = (function() {         var uri = 'data:application/vnd.ms-excel;base64,'     , tem...
  • sinple123456
  • sinple123456
  • 2015年02月10日 19:07
  • 322

GridView完美快速导出到Excel(超强)

好多人都要把Gridview的数据导出到Excel的功能,有好多方法,最笨的就是一个一个cell读取,然后再一个一个填充的Excel中,经过我无数次(也不是了,但确实费了很大功夫)终于实现了。基本思路...
  • binsweet
  • binsweet
  • 2007年11月19日 15:00
  • 2663

GridView导出Excel的超好例子

其实网上有很多关于Excel的例子,但是不是很好,他们的代码没有很全,读的起来还很晦涩。经过这几天的摸索,终于可以完成我想要导出报表Excel的效果了。下面是我的效果图。 一.前台的页面图 ...
  • hwt0101
  • hwt0101
  • 2014年08月18日 10:41
  • 2254

将GridView的内容导出到Excel中(常见问题)

介绍:    将GridView的内容导出到Excel是很普通的应用,在很多网站上都有使用。有各种不同的技术来实现GridView导出到Excel中,主要是看应用程序的具体情况。在本文中我将演示一些你...
  • eqiang8271
  • eqiang8271
  • 2008年02月19日 14:27
  • 3110

GridView导出excel出现科学计数的解决办法

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.R...
  • michaelgong
  • michaelgong
  • 2011年03月02日 14:30
  • 2302
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GridView格式化导出Excel
举报原因:
原因补充:

(最多只允许输入30个字)