导出带有模板的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

关于通过dll导出类模板和函数模板

动态链接库中导出模板函数 C++ 支持函数模板,利用函数模板,可以简化我们的程序代码。我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译...
  • u014805066
  • u014805066
  • 2017年03月28日 11:38
  • 802

使用模板导出Excel

首先需要导入相关jar包 代码示例: .jsp文件 一一一二一三
  • Gaowahaha
  • Gaowahaha
  • 2017年04月20日 15:26
  • 505

JavaWeb 利用poi导出下拉框excel模版

private HSSFWorkbook workbook = null;        private HSSFCellStyle titleStyle = null;        private...
  • fangkecool2008
  • fangkecool2008
  • 2016年03月07日 21:35
  • 4054

ASP.NET 导出模板格式的EXCEL

Imports Interop Imports System.IO Imports System.Web.HttpServerUtility Imports Interop.Excel.Constan...
  • nvhaixx
  • nvhaixx
  • 2017年01月09日 09:59
  • 1059

itext使用模板生成pdf文件

转载自:http://blog.csdn.net/flyfeifei66/article/details/6739957 用pdf模板生成pdf文档很简单,首先需要手动做个pdf模板,上面有...
  • u012377333
  • u012377333
  • 2016年04月27日 10:38
  • 1349

NPOI 根据模板导出Excel

引用命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; /// /// 导出正式Excel文件,用于导入...
  • qq285679784
  • qq285679784
  • 2015年04月13日 14:09
  • 2146

SpringMVC+POI 实现Excel按模板方式简单导出功能

上节《SpringMvc+POI 处理Excel的导入操作》简单介绍Excel文件导入功能,本节写一个简单的Excel文件导出功能。 Excel文件导出时采用模板的方式导出,该方法只需要简单的几步即可...
  • OnePersonTZ
  • OnePersonTZ
  • 2015年11月25日 11:23
  • 17495

动态链接库中导出模板函数

动态链接库中导出模板函数C++ 支持函数模板,利用函数模板,可以简化我们的程序代码。我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译器会找不到函...
  • liyuanbhu
  • liyuanbhu
  • 2015年12月20日 12:18
  • 3839

asp.net 导出数据源到Excel模版文件

最近在做asp.net项目,在此过程中用到Excel导出,我整理了导出数据源到Excel模版文件的共同方法,分享给大家! 如果大家还有更好的方法,可以分享给我,谢谢! 方法一:利用Microsof...
  • wmin0909
  • wmin0909
  • 2012年08月03日 16:39
  • 1552

使用NOPI实现导出已有固定模板的Excel报表

在公司很多情况下需要实现导出一个固定模板格式的Excel,在这里用NOPI实现非常简单; 先添加引用NPOI.dll程序集,在后台页面添加 using NPOI.HSSF.UserModel; us...
  • tao_duanzhi
  • tao_duanzhi
  • 2017年11月10日 09:43
  • 150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:导出带有模板的repeator
举报原因:
原因补充:

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