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

原创 2006年06月15日 13:45:00

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");
  }
 }
}

Android客户端页面提交数据到tomcat的servlet插入mysql中的信息表遇到的中文乱码问题

这几天在Android端写一个注册页面,需要将注册页面edittext控件中填写的注册信息提交到servlet中,从servlet获取到信息后,将信息插入到mysql相应的表格。插入的数据难免遇到中文...
  • yao_94
  • yao_94
  • 2017年12月04日 19:59
  • 12

EasyUI datagrid实现翻页客户端保存checkbox状态

转载自:http://www.cnblogs.com/spades-k/articles/2784170.html 1、首先设置datagrid属性的idField主键,这里假如为i...

使用ASP.NET AJAX异步调用Web Service和页面中的类方法(6):服务器端和客户端数据类型的自动转换:复杂类型

====================================================== 注:本文源代码点此下载 =============================...

客户端请求新页面和提交数据的四种方式

客户端请求新页面和提交数据的四种方式

使用ASP.NET AJAX异步调用Web Service和页面中的类方法(7):服务器端和客户端数据类型的自动转换:泛型集合类型

====================================================== 注:本文源代码点此下载 =============================...

datagrid数据导出到excel文件给客户端下载的几种方法

方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载 优点: 1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。 2、也是因为生...
  • sxycgxj
  • sxycgxj
  • 2011年10月01日 10:18
  • 646

收藏——Java导出数据到excel保存在服务器及客户端下载

例子:(来自:http://www.iteye.com/problems/54701) import java.io.File; import java.io.FileOutputStream;...

客户端密码控件(password)刷新页面保存值的解决方案

客户端控件的特点决定了,每次刷新页面的操作,如选择服务器端的下拉列表框,其值都不会保存。这是由http的无状态性决定的。若想每次刷新页面后客户端控件,如password的值依然存在,则需要借鉴asp....

将页面(元素)保存至客户端

页面(元素)客户端本地保存                   目        录   需求.... 1 方案选择.... 1 1.    Devexpr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:把页面上DataGrid上的数据读出来并保存到Execl表中,下载到客户端
举报原因:
原因补充:

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