`
zzti
  • 浏览: 689 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
最近访客 更多访客>>
社区版块
存档分类
最新评论

将DataGrid数据写入Excel文件

阅读更多
在众志教程网上看到一位名叫zyz217的朋友,发了篇这样的文章,突然想起自己过不久要做的精品课程网站,肯定会用到的,就转了过来,在此先谢过zyz217了!呵呵!


<%@ Page language="c#" Codebehind="WebForm4.aspx.cs" AutoEventWireup="false" Inherits="WebUI.WebForm4" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
  <title>WebForm4</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <asp:datagrid id="DataGrid1" runat="server" width="100%">
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <FooterStyle HorizontalAlign="Center"></FooterStyle>
    <PagerStyle PageButtonCount="15" Mode="NumericPages"></PagerStyle>
   </asp:datagrid>
   <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 152px" runat="server"
    Text="Button"></asp:Button>
  </form>
</body>
</HTML>



页面上就一个DataGrid和一个按钮,按钮用来触发将数据到Excel,后台的其他代码也就不弄上来了,下面是那个关键的按钮事件
程序代码:

private void Button1_Click(object sender, System.EventArgs e)
{
DataTable SourceTb = new DataTable();
DataColumn myDataColumn;

myDataColumn   = new DataColumn();
myDataColumn.DataType = System.Type.GetType("System.String");
myDataColumn.ColumnName = "RowIndex";  //序  号
SourceTb.Columns.Add(myDataColumn);

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

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

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

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

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

DataRow myDataRow;
for(int i = 0;i < 30;i ++)
{
  myDataRow     = SourceTb.NewRow();
  myDataRow["RowIndex"]  = i.ToString();
  myDataRow["CheckUpManName"] = "张三";
  myDataRow["CheckUpIdeas"] = "同意";
  myDataRow["CheckUpDate"] = "2006-03-20";
  myDataRow["CheckUpRole"] = "物资部主任";
  SourceTb.Rows.Add(myDataRow);
}

//绑定数据到DataGrid1
this.DataGrid1.DataSource = SourceTb.DefaultView;
this.DataGrid1.DataBind();
//将DataGrid1构成的html代码写进StringWriter
this.DataGrid1.Page.EnableViewState = false;
System.IO.StringWriter  tw   = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw  = new System.Web.UI.HtmlTextWriter(tw);
this.DataGrid1.RenderControl(hw);
string HtmlInfo = tw.ToString().Trim();

string DocFileName = "审批信息.xls";
string FilePathName = Request.PhysicalPath;
FilePathName  = FilePathName.Substring(0,FilePathName.LastIndexOf("\\"));
//得到Excel文件的物理地址
FilePathName  = FilePathName +"\\" + DocFileName;
System.IO.File.Delete(FilePathName);
FileStream Fs  = new FileStream(FilePathName, FileMode.Create);
BinaryWriter BWriter= new BinaryWriter(Fs,System.Text.Encoding.GetEncoding("GB18030"));
//将DataGrid的信息写入Excel文件
BWriter.Write(HtmlInfo);
BWriter.Close();
Fs.Close();
}
 
分享到:
评论

相关推荐

    asp.net 将DataGrid数据写入Excel文件.rar

    asp.net 将DataGrid数据写入Excel文件.rar

    asp.net学习大全(超全面的资料整合)

    将DataGrid数据写入Excel文件.txt 揭开ASP.NET中Cookie编程的奥秘.txt 利用TreeView控件动态生成无限级树.txt 实现一个Asp.net自定义Back控件.txt 使用XML创建Excel文档.txt 鼠标停留在GridView某一行时颜色改变.txt...

    ASP.NET学习大全

    将DataGrid数据写入Excel文件.txt 揭开ASP.NET中Cookie编程的奥秘.txt 利用TreeView控件动态生成无限级树.txt 实现一个Asp.net自定义Back控件.txt 使用XML创建Excel文档.txt 鼠标停留在GridView某一行时颜色改变.txt...

    asp.net专家疑难解答200问源码

    128.如何把数据库中的数据以Excel文件的格式在显示浏览器中 129.如何给DataGrid控件添加个标题并实现分类显示 130.如何实现DataGrid控件中DropDownList控件的联动 131.DataGrid控件使用综合举例 第7章 数据绑定...

    asp.net专家疑难解答200问

    如何把数据库中的数据以Excel文件的格式在显示浏览器中 129.如何给DataGrid控件添加个标题并实现分类显示 130.如何实现DataGrid控件中DropDownList控件的联动 131.DataGrid控件使用综合举例 第7章 ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例304 将DataGrid表格中的查询结果输出到Excel中 实例305 利用Word打印 实例306 利用Excel打印 10.10 控制打印 实例307 打印超长字符串自动换行 实例308 批量打印文档 实例309 实现横向打印 实例310 设置...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例304 将DataGrid表格中的查询结果输出到Excel中 实例305 利用Word打印 实例306 利用Excel打印 10.10 控制打印 实例307 打印超长字符串自动换行 实例308 批量打印文档 实例309 实现横向打印 实例310 设置...

    delphi 开发经验技巧宝典源码

    0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用...

    delphi 开发经验技巧宝典源码06

    0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    8.3 更新数据 cc实例210 批量修改数据 cc实例211 将指定字段数据为空的记录添上数据 8.4 删除数据 cc实例212 删除单条数据 cc实例213 删除数据库中无用处的记录 8.5 视图 cc实例214 动态创建视图 cc...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例211 将指定字段数据为空的记录添上数据   8.4 删除数据   cc实例212 删除单条数据   cc实例213 删除数据库中无用处的记录   8.5 视图   cc实例214 动态创建视图   cc实例215 通过视图...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例211 将指定字段数据为空的记录添上数据   8.4 删除数据   cc实例212 删除单条数据   cc实例213 删除数据库中无用处的记录   8.5 视图   cc实例214 动态创建视图   cc实例215 通过视图...

Global site tag (gtag.js) - Google Analytics