导出带有模板的repeator

原创 2006年05月27日 17:04:00


  #region 创建单元格
  private HtmlTableCell CreatCell(string innertext)
  {
   return this.CreatCell(1,innertext);
  }

  private HtmlTableCell CreatCell(int type,string innertext)
  {
   return this.CreatCell(type,0,0,innertext);
  }

  private HtmlTableCell CreatCell(int type,int colspan,string innertext)
  {
   return this.CreatCell(type,0,colspan,innertext);
  }

  private HtmlTableCell CreatCell(int type,int rowspan,int colspan,string innertext)
  {
   HtmlTableCell htc;
   htc=new HtmlTableCell();
   htc.ColSpan=colspan;
   htc.RowSpan=rowspan;
   htc.InnerText=innertext;
   if(type==0)//表头
   {
    
    htc.Style.Add("color","#CCCCFF");
    htc.Style.Add("FONT-WEIGHT","true");
    htc.BgColor="#003399";
   }
   return htc;
  }
  #endregion

  #region 获取表
  private HtmlTable GetHtmlTableFromRepeater(Repeater rp)
  {

   /*<tr style="FONT-WEIGHT: bold; COLOR: #ccccff; BACKGROUND-COLOR: #003399">
   <td rowspan="3">地区</td>
   <td rowspan="3">月份</td>
   <td rowspan="3">工号</td>
   <td rowspan="3">人员归属</td>
   <td rowspan="3">营销模式</td>
   <td rowspan="3">新增用户数</td>
   <td colspan="6">客户评测系统监控情况</td>
   <td colspan="2">其他方式监控情况</td>
   <td colspan="2">合计违规情况</td>
   <td colspan="12">扣罚结果</td>
  <tr style="FONT-WEIGHT: bold; COLOR: #ccccff; BACKGROUND-COLOR: #003399">
   <td rowspan="2">准确度80%以上单数</td>
   <td rowspan="2">比例</td>
   <td rowspan="2">准确度40%-80%单数</td>
   <td rowspan="2">比例</td>
   <td rowspan="2">合计监控单数</td>
   <td rowspan="2">比例</td>
   <td rowspan="2">违规单数</td>
   <td rowspan="2">比例</td>
   <td rowspan="2">合计违规单数</td>
   <td rowspan="2">比例</td>
   <td colspan="4">客户评测系统</td>
   <td colspan="4">其他监控模式</td>
   <td colspan="4">合计情况</td>
  </tr>
  <tr style="FONT-WEIGHT: bold; COLOR: #ccccff; BACKGROUND-COLOR: #003399">
   <td>涉及人数</td>
   <td>辞退人数</td>
   <td>取消佣金(提成)单数</td>
   <td>扣罚总金额</td>
   <td>涉及人数</td>
   <td>辞退人数</td>
   <td>取消佣金(提成)单数</td>
   <td>扣罚总金额</td>
   <td>涉及人数</td>
   <td>辞退人数</td>
   <td>取消佣金(提成)单数</td>
   <td>扣罚总金额</td>
  </tr>*/
   System.Web.UI.HtmlControls.HtmlTable htable=new HtmlTable();
   htable.Border=1;
   htable.BorderColor="#3366CC";
   htable.CellPadding=1;
   htable.CellSpacing=0;
   HtmlTableRow htr;
   htr=new HtmlTableRow();
   htr.Align="center";
   htr.Cells.Add(this.CreatCell(0,3,0,"地区"));
   htr.Cells.Add(this.CreatCell(0,3,0,"月份"));
   htr.Cells.Add(this.CreatCell(0,3,0,"工号"));
   htr.Cells.Add(this.CreatCell(0,3,0,"人员归属"));
   htr.Cells.Add(this.CreatCell(0,3,0,"营销模式"));
   htr.Cells.Add(this.CreatCell(0,3,0,"新增用户数"));
   htr.Cells.Add(this.CreatCell(0,6,"客户评测系统监控情况"));
   htr.Cells.Add(this.CreatCell(0,2,"其他方式监控情况"));
   htr.Cells.Add(this.CreatCell(0,2,"合计违规情况"));
   htr.Cells.Add(this.CreatCell(0,12,"扣罚结果"));
   
            htable.Rows.Add(htr);
   htr=new HtmlTableRow();
   htr.Align="center";
   htr.Cells.Add(this.CreatCell(0,2,0,"准确度80%以上单数"));
   htr.Cells.Add(this.CreatCell(0,2,0,"比例"));
   htr.Cells.Add(this.CreatCell(0,2,0,"准确度40%-80%单数"));
   htr.Cells.Add(this.CreatCell(0,2,0,"比例"));
   htr.Cells.Add(this.CreatCell(0,2,0,"合计监控单数"));
   htr.Cells.Add(this.CreatCell(0,2,0,"比例"));
   htr.Cells.Add(this.CreatCell(0,2,0,"违规单数"));
   htr.Cells.Add(this.CreatCell(0,2,0,"比例"));
   htr.Cells.Add(this.CreatCell(0,2,0,"合计违规单数"));
   htr.Cells.Add(this.CreatCell(0,2,0,"比例"));
   htr.Cells.Add(this.CreatCell(0,4,"客户评测系统"));
   htr.Cells.Add(this.CreatCell(0,4,"其他监控模式"));
   htr.Cells.Add(this.CreatCell(0,4,"合计情况"));

   htable.Rows.Add(htr);
   htr=new HtmlTableRow();
   htr.Align="center";

   htr.Cells.Add(this.CreatCell(0,"涉及人数"));
   htr.Cells.Add(this.CreatCell(0,"辞退人数"));
   htr.Cells.Add(this.CreatCell(0,"取消佣金(提成)单数"));
   htr.Cells.Add(this.CreatCell(0,"扣罚总金额"));
   htr.Cells.Add(this.CreatCell(0,"涉及人数"));
   htr.Cells.Add(this.CreatCell(0,"辞退人数"));
   htr.Cells.Add(this.CreatCell(0,"取消佣金(提成)单数"));
   htr.Cells.Add(this.CreatCell(0,"扣罚总金额"));
   htr.Cells.Add(this.CreatCell(0,"涉及人数"));
   htr.Cells.Add(this.CreatCell(0,"辞退人数"));
   htr.Cells.Add(this.CreatCell(0,"取消佣金(提成)单数"));
   htr.Cells.Add(this.CreatCell(0,"扣罚总金额"));
   htable.Rows.Add(htr);
   
   System.Web.UI.WebControls.Label lbTemp=new Label();
   LinkButton lbtnTemp=new LinkButton();
   foreach(RepeaterItem item in rp.Items)
   {
    htr=new HtmlTableRow();
    htr.Align="center";
    foreach(Control ctr in item.Controls)
    {
     
     if(ctr is Label)
     {
      lbTemp=(System.Web.UI.WebControls.Label)ctr;
      htr.Cells.Add(this.CreatCell(lbTemp.Text));

     }
     else if(ctr is LinkButton)
     {
      //string name=ctr.GetType().ToString();
      lbtnTemp=(LinkButton)ctr;
      htr.Cells.Add(this.CreatCell(lbtnTemp.Text));
     }
    }
    htable.Rows.Add(htr);
   }
   return htable;
  }
  #endregion

#region 从HtmlTable导出
  public static void ExpReport(string reportname,System.Web.UI.HtmlControls.HtmlTable ht,Encoding content,Encoding filename)
  {
   
   System.Web.HttpContext.Current.Response.Clear();
   System.Web.HttpContext.Current.Response.Buffer=true;//缓冲输出
   System.Web.HttpContext.Current.Response.ContentType="application/vnd.ms_excel";//输出流的HTTP MIME类型
   
   System.Web.HttpContext.Current.Response.ContentEncoding=content;//输出流的HTTP字符集
   System.IO.StringWriter oStringWriter=new System.IO.StringWriter();
   System.Web.UI.HtmlTextWriter oHtmlTextWriter=new HtmlTextWriter(oStringWriter);//在WEB窗体写出一系列连续的HTML特定字符和文本
   
   ht.RenderControl(oHtmlTextWriter);//将DataGridPMG控件的内容输出到oHtmlTextWriter对象中
   
   System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename="+System.Web.HttpUtility.UrlEncode(reportname,filename)+".xls"); //将HTTP头添加到输出流
   
   System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString());//向HTTP输出内容流写入一个字符数组
   System.Web.HttpContext.Current.Response.Flush();//向客户端发送当前所有缓冲的输出
   System.Web.HttpContext.Current.Response.End();//将当前所有缓冲的输出发送到客户端,并停止该页的执行
  }
  #endregion

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

java使用freemarker模板导出word(带有合并单元格)文档

前言:最近要做一个导出word功能,其实网上有很多的例子,但是我需要的是合并单元格的,可是查了好久都没有自己想要的。研究了几天其实挺简单的,在这儿我就简单的介绍一下吧!(此方法只是一种思路,借鉴者还有...

wpf slider 进度条的样式模板,带有进度颜色显示

效果图: 只需在前台加上这段代码即可: <Window x:Class="WpfAppSlider.MainWindow" xmlns="h...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

利用模板导出数据到Excel中

可以自定义模板,使用挺方便的。 using System; using System.Configuration; using System.Data; using System.Linq; ...

excel导出模板

excel表格生成通用类:ExportExcel.java package com.bzyth.common; import java.io.BufferedInputStream; import...

利用JXLS根据模板导出Excel实例教程

看了几天了,感觉迷迷糊糊的,今天终于搞出来了。 先做模板,做成想要的格式样子保存,然后通过程序根据模板生成对应样式的Excel文件,代码简单。什么连接数据库查询然后将结果生成Excel文件就不讲了,放...

java根据模板生成pdf文件并导出

首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可...

poi根据模板导出excel

package com.css.commcon.util; import java.io.File; import java.io.FileInputStream; import jav...

Excel导出模板

package com.oemp.club.util; import java.awt.Color; import java.io.FileOutputStream; import java.uti...

WinForm使用Aspose.cells利用模板导出Excel

本文是在WinForm环境下使用Asose.Cells导出Excel。
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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