把页面上DataGrid上的数据读出来并保存到Execl表中,下载到客户端

来源:互联网 发布:小米手机数据恢复 编辑:程序博客网 时间:2024/04/30 02:05

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;

namespace Excel
{
 /// <summary>
 /// WebForm1 的摘要说明。
 /// </summary>
 public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.WebControls.DataGrid DataGrid1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {
    showdataGrid();
   }
  }
  private void showdataGrid()
  {
   DataTable tb=new DataTable();
   DataColumn myDataColumn;

   myDataColumn=new DataColumn();
   myDataColumn.DataType=System.Type.GetType("System.String");
   myDataColumn.ColumnName="RowIndex";
   tb.Columns.Add(myDataColumn);

   myDataColumn   = new DataColumn();
   myDataColumn.DataType = System.Type.GetType("System.String");
   myDataColumn.ColumnName = "CheckUpManName"; //审批人
   tb.Columns.Add(myDataColumn);

   myDataColumn   = new DataColumn();
   myDataColumn.DataType = System.Type.GetType("System.String");
   myDataColumn.ColumnName = "CheckUpIdeas"; //审批意见
   tb.Columns.Add(myDataColumn);

   myDataColumn   = new DataColumn();
   myDataColumn.DataType = System.Type.GetType("System.String");
   myDataColumn.ColumnName = "CheckUpDate"; //审批时间
   tb.Columns.Add(myDataColumn);

   myDataColumn   = new DataColumn();
   myDataColumn.DataType = System.Type.GetType("System.String");
   myDataColumn.ColumnName = "CheckUpRole"; //审批岗位
   tb.Columns.Add(myDataColumn);

   myDataColumn   = new DataColumn();
   myDataColumn.DataType = System.Type.GetType("System.String");
   myDataColumn.ColumnName = "操作类型";  //操作类型(1:提交| 9:驳回)
   tb.Columns.Add(myDataColumn);

   DataRow myDataRow;
   for(int i=0;i<30;i++)
   {
    myDataRow=tb.NewRow();
    myDataRow["RowIndex"]=i.ToString();
    myDataRow["CheckUpManName"]="张三";
    myDataRow["CheckUpIdeas"]="同意";
    myDataRow["CheckUpDate"]="2005-10-10";
    myDataRow["CheckUpRole"]="物资部主任";
    tb.Rows.Add(myDataRow);
   }
   this.DataGrid1.DataSource=tb.DefaultView;
   this.DataGrid1.DataBind();
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void Button1_Click(object sender, System.EventArgs e)
  {
  
//   this.DataGrid1.Page.EnableViewState=false;
   System.IO.StringWriter sw=new System.IO.StringWriter();
   HtmlTextWriter hw=new HtmlTextWriter(sw);
   this.DataGrid1.RenderControl(hw);
   string htmlInfo=sw.ToString().Trim();
  
   string str=DateTime.Now.Ticks.ToString();
   string docfilename=""+str+".xls";
   string filePathname=Request.PhysicalPath;
   filePathname=filePathname.Substring(0,filePathname.LastIndexOf("//"));
   filePathname=filePathname+"//"+docfilename;
   Session["filePathname"]=filePathname;
   if(File.Exists(filePathname))
   {
    System.IO.File.Delete(filePathname);
   }
   System.IO.FileStream fs=new System.IO.FileStream(filePathname,FileMode.Create);
   BinaryWriter bWriter=new BinaryWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
   bWriter.Write(htmlInfo);
   bWriter.Close();
   fs.Close();
   Response.Redirect("WebForm2.aspx");
  }
 }
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝感冒出汗了怎么办 出汗多怎么办%3f 孩子睡觉出汗多怎么办 三年级孩子成绩下滑怎么办 幼儿数学不开窍怎么办 孩子一年级学习跟不上怎么办 孩子学习不认真怎么办 孩子平时不细心怎么办? 脖子出现黑圈怎么办 简历留白太多怎么办 excel数字外面加个圈怎么办 电脑输入法数字数不上怎么办 大班教案迷路了怎么办 迷路了怎么办活动反思 头突然眩晕是怎么办 孩子学习拖拉懒惰怎么办 头发晕想睡觉怎么办 五年级错别字多怎么办 入党志愿书写错字怎么办 高中不会写作文怎么办 考试不会写作文怎么办 高考不会写作文怎么办 孩子总是写错字怎么办 小孩总是写错字怎么办 孩子马虎不认真怎么办 小孩计算老出错怎么办 小学生计算总出错怎么办 高中考试总粗心怎么办 孩子考试总是粗心怎么办 一年级孩子考试粗心怎么办 老师说孩子粗心怎么办 计算题总出错怎么办 计算题总是出错怎么办 数学老是计算错误怎么办? 苗木抵扣计算错误怎么办 表格中计算错误怎么办 孩子电视瘾太大怎么办 孩子考试前失眠怎么办 孩子上网瘾了怎么办 孩子考试差家长怎么办 手指肿痛有脓包怎么办