首页 > 其他分享 >【Vegas原创】页面(图表+table+GridView)导出为excel(07-12-5更新版)

【Vegas原创】页面(图表+table+GridView)导出为excel(07-12-5更新版)

时间:2022-10-12 22:01:58浏览次数:62  
标签:oStringWriter GridView 07 System 更新版 ToString path Response oHtmlTextWriter

图表+table
protected void Button3_Click(object sender, EventArgs e)

{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
//
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
//path like http://

string strPath = "select pms_value from code_list where pms_type='chart_path'";
DataSet ds = db.GetDataSet(strPath);
string path = ds.Tables[0].Rows[0][0].ToString();

string imagePath = path + this.DaxonTechChartWeb1.ID + "." + this.DaxonTechChartWeb1.ImageType.ToString();

oHtmlTextWriter.AddAttribute(HtmlTextWriterAttribute.Src, imagePath);

//tableExcel is the Table
tableExcel.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());

Response.Flush();
Response.End();


}

gridview:
protected void Button_toExcel_Click(object sender, EventArgs e)

{

Response.Clear();

Response.Buffer = true;

Response.Charset = "GB2312";

Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");

// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.UTF7;

Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

// turn off paging


GridView1.AllowPaging = false;

GridView1.Columns[0].Visible = false;

GridView1.DataBind();

GridView1.RenderControl(oHtmlTextWriter);

Response.Output.Write(oStringWriter.ToString());

Response.Flush();

Response.End();

// turn the paging on again
GridView1.AllowPaging = true;

GridView1.DataBind();


}
07-12-5更新版:

因有些chart在前台有加特效之类的,造成HtmlTextWriter在锁定元件上出错。

此就需要RenderBeginTag和RenderEndTag来全部手动写入。 protected void Button3_Click(object sender, EventArgs e)

{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
//
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

//path
string strPath = "select pms_value from code_list where pms_type='chart_path'";
DataSet ds = db.GetDataSet(strPath);
string path = ds.Tables[0].Rows[0][0].ToString();
string imagePath = path + this.DaxonTechChartWeb1.ID + "." + this.DaxonTechChartWeb1.ImageType.ToString();
//this.DaxonTechChartWeb1.ImagePath = imagePath;
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Table);
oHtmlTextWriter.AddAttribute(HtmlTextWriterAttribute.Height, this.DaxonTechChartWeb1.Height.Value.ToString());
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Tr);
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Td);
oHtmlTextWriter.AddAttribute(HtmlTextWriterAttribute.Src, imagePath);
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Img);
oHtmlTextWriter.RenderEndTag();
oHtmlTextWriter.RenderEndTag();
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Tr);
oHtmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Td);
VegasGood.RenderControl(oHtmlTextWriter);
oHtmlTextWriter.RenderEndTag();
oHtmlTextWriter.RenderEndTag();
oHtmlTextWriter.RenderEndTag();
Response.Output.Write(oStringWriter.ToString());

Response.Flush();
Response.End();

}

标签:oStringWriter,GridView,07,System,更新版,ToString,path,Response,oHtmlTextWriter
From: https://blog.51cto.com/amadeus/5751666

相关文章

  • 【Vegas原创】导出Excel时,如何将数字格式转为文本格式?(07.12.13 Update)
    DataGrid:Asp.NetWebForm中DataGrid导出的时候,在ItemDataBound内if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){e.Ite......
  • 《剑指offer》day07
    树的子结构题目描述思路遍历比对遍历每个节点,看看它的子树的开头部分,也可能是一整棵,能不能完全匹配上目标一些要注意的细节:B为空可直接返回false,这是题干,A......
  • 修改盘点数量MI04过账Mi07:BAPI_M…
    修改盘点数量、过账 3、MI09=MI01+MI04【MI04:库存盘点】​​​​回车输入盘点数量​​​​​点保存即可MI0......
  • 【PCL模块解析 07 之 点云分割】01 平面模型分割
    目录​​一、前言​​​​二、PCL简介​​​​1、PCL简介​​​​2、PCL分割​​​​三、平面模型分割​​​​1、全部代码​​​​2、分块介绍​​​​1.创建数据​​​​2......
  • 146-《大数据架构师》Flink 架构深剖到源码详解 07_ev
                                                         ......
  • MVVM模式下Telerik.RadGridView控件中RadButton按钮绑定命令无法触发
    场景数据维护页面,数据内容使用Telerik.RadGridView控件,通过点击下方newrow添加数据,误操作需要删除一行信息;希望点击RadButton后执行对应的操作,但是设置RadButton的Comm......
  • CSS - 07 背景
    7.背景background-color:设置背景颜色background-image:设置背景图片可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色如果背景的图片小于元素,则......
  • 从苏宁电器到卡巴斯基第07篇:我在佳木斯的日子(下)
    讲讲书展的情况    讲了这么多,是时候该聊聊书展到底卖得怎么样了。听这里的促销员说,以前的话每天大概也就能卖一两千块钱,特别好的时候,能够达到两千多。看起来确实挺......
  • 逆向工程第001篇:解锁FIFA07传奇模式
        FIFA07传奇难度的解锁,可以说是所有FIFA07玩家的终极目标。但是如果想以正常方式对其进行解锁,绝对是一件耗时耗力的工作。所以在这里我打算通过分析游戏存档文件......
  • 07.对象
    基本数据类型只是一个一个独立的值。前边我们也提到过了,程序就是对现实世界的抽象,这就带来了一个问题,现实世界中存在东西是各种各样的,怎么能用这样几个简单的值就能表示呢......