将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#)

原创 2004年09月20日 19:37:00
 //把table控件中的数据保存到excel或word
  public void Save(System.Web.UI.Control source, DocumentType type)

  {
   Response.Clear();
   Response.Buffer= true;

   //设置Http的头信息,编码格式
   if (type == DocumentType.Excel)
   {
    //Excel
    Response.AppendHeader("Content-Disposition","attachment;filename=result.xls");
    Response.ContentType = "application/ms-excel";
   }
   else if (type == DocumentType.Word)
   {
    //Word
    Response.AppendHeader("Content-Disposition","attachment;filename=result.doc");
    Response.ContentType = "application/ms-word";
   }

   //设置编码
   Response.Charset="GB2312"; 
   Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");

   //关闭控件的视图状态
   source.EnableViewState =false;  

   //初始化HtmlWriter
   System.IO.StringWriter writer = new System.IO.StringWriter() ;
   System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
   source.RenderControl(htmlWriter);

   //输出
   Response.Write(writer.ToString());

   Response.End();
  }

  public enum DocumentType
  {
   Word,
   Excel
  }

当datagrid分页的时候在保存数据时需要先从新创建一个不分页的对象然后重新绑定数据再保存数据否则分页控件中按钮由于不是客户端的控件而无法保存出错。


   //以下是保存图片
   public void SavePic()
  {
   string path = Server.MapPath(".") + @"/images/Chart.jpeg";
   FileStream file = File.OpenRead(path);
   byte[] content = new byte[file.Length];
   file.Read(content,0,content.Length);
   file.Close();

   Response.Clear();
   Response.AppendHeader("Content-Disposition","attachment;filename=Chart.jpeg");
   Response.ContentType = "image/jpeg";//设置Http的头信息
   Response.BinaryWrite(content);//输出
   
   Response.End();
  }

不过图片保存完后,页面上的DropDownList的Select事件不能促发,不晓得是什么缘故,而页面上的button事件却可以激发事件,不知道大家有没有出现过这种问题?可以讨论一下,还是我保存图片的过程有问题?

 

评论

# 回复:将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#) 2004-09-16 10:01 AM 木子
补充:在下载附件到客户端的时候 由于页面采用了多个frame的情况所以下载完后会使得dropdownlist等控件无法激发事件 会出现网页上有错误的提示 但是button却可以 可能是由于多个网页组合在一起受到干扰,目前还没有解决办法,所以如果使用到dropdownlist等控件的话只能在单个页面中(即页面不是frame的组合框)下载附件

# 回复:将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#) 2004-09-16 11:02 AM 木子
把attachment改为online即可在线打开word excel等。

C#将指定picturebox图片保存到本地

将指定图片以某种格式保存到给定路径中 private void pictureBox1_DoubleClick(object sender, EventArgs e)         { ...
  • shenshendeai
  • shenshendeai
  • 2015年10月13日 10:17
  • 1194

通过js保存图片到本地

JS代码: [html] view plaincopy span style="font-family:Verdana, Geneva, Arial, He...
  • kaosini
  • kaosini
  • 2015年08月20日 11:01
  • 3598

c# winform 把数据库里读取出来的图片保存到本地硬盘上,图片下载

C#代码 pictureBox1.Image.Save("f:\\eeee.jpg",pictureBox1.Image.RawFormat);  pictureBox...
  • linghao00
  • linghao00
  • 2013年05月21日 18:58
  • 5019

C#利用webrequest 通过图片src保存到本地

//url 图片地址 //记得引用using System.Net;   using System.Drawing;    public void getimages(string url) ...
  • zjl5211314
  • zjl5211314
  • 2012年07月05日 15:21
  • 6208

Android保存Bitmap到本地图库

原文->http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ 最近有些用户反映保存图片之后在...
  • z1246300949
  • z1246300949
  • 2016年02月17日 16:51
  • 12927

二进图片保存到本地或服务器

保存二进制图片到服务器
  • lqh4188
  • lqh4188
  • 2016年05月23日 18:10
  • 2158

将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#)

  //把table控件中的数据保存到excel或word  public void Save(System.Web.UI.Control source, DocumentType type)  { ...
  • derny
  • derny
  • 2004年09月13日 20:45
  • 3392

Android中保存图片到本地功能实现

文章转载自http://blog.csdn.net/ccpat/article/details/45314175  感谢原作者 本文描述将一个Bitmap对象保存为一个图片文件的主要步骤。保存的图...
  • Samuel__Liu
  • Samuel__Liu
  • 2016年02月25日 23:56
  • 26759

ios-Swift中如何保存图片到本地

我们知道在OC中保存图片到本地需要写这么一个方法,然后这里面的第一个参数传入的就是图片,第二个参数传入的是监听的对象,第三个参数传入的是监听的方法,第四个参数传的是上下文。 //写入到相册 ...
  • ZCMUCZX
  • ZCMUCZX
  • 2017年10月08日 18:48
  • 162

C#抓取网络图片保存到本地

public Bitmap Get_img()         {             Bitmap img =...
  • mituan1234567
  • mituan1234567
  • 2014年04月22日 15:22
  • 2603
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#)
举报原因:
原因补充:

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