将 DataGrid 的数据保存为 Excel 文件(孟子E章)

转载 2008年01月15日 10:20:00
原文地址: http://www.code-studio.net/CSView.aspx?aid=157
下面的代码是出自孟子E章的,他用的是 ASP.NET 1.1 写的,但现在一般企业都转向 ASP.NET 2.0,为了方便新手,我就改为 ASP.NET 2.0了,希望孟子不要介意。:)

做为演示代码,程序里编程填充数据,不需要连接数据库。

文件名:Default3.aspx

.aspx
HTML CODE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> <html xmlns="http://www.w3.org/1999/xhtml"; > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <asp:DataGrid ID="DataGrid1" runat="server" OnItemDataBound="DataGrid1_ItemDataBound"></asp:DataGrid> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="输出Excel" /></div> </form> </body> </html>


.cs
C# CODE
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataGrid1.DataSource = CreateDataSource(); DataGrid1.DataBind(); } ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("身份证号码", typeof(string))); dt.Columns.Add(new DataColumn("图书单价", typeof(decimal))); dt.Columns.Add(new DataColumn("购买数量", typeof(Int32))); dt.Columns.Add(new DataColumn("总价格", typeof(decimal))); for (int i = 0; i < 30; i++) { dr = dt.NewRow(); dr[0] = "123456789123456789"; dr[1] = 100 * i / 3.0; dr[2] = i + 5; dr[3] = (decimal)dr[1] * (Int32)dr[2]; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } protected void Button1_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.GetEncoding("GB2312");//设置输出流为简体中文 Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 this.EnableViewState = false; System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.DataGrid1.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString()); Response.End(); } protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Cells[0].Attributes.Add("style", "vnd.ms-excel.numberformat:@"); e.Item.Cells[3].Attributes.Add("style", "vnd.ms-excel.numberformat:¥#,###.00"); } } }

Excel操作 孟子e章

http://www.cnblogs.com/renyu732/archive/2005/06/15/174866.html
  • w87875251l
  • w87875251l
  • 2010年11月18日 16:03
  • 257

wpf导出DataGrid到Excel

public static void ExportDataGrid(DataGrid dGrid)         {             SaveFileDialog objSFD = ne...
  • qiangzi9009
  • qiangzi9009
  • 2014年11月04日 15:07
  • 1618

从0自学C#03--文件流保存数据为txt/excel格式

主要介绍DataTable、日志Log、文件流FileStream、StreamWriter类,将数据保存为excel/text格式。...
  • tclxspy
  • tclxspy
  • 2016年01月26日 14:57
  • 764

孟子E章

http://blog.csdn.net/net_lover/
  • alei
  • alei
  • 2004年07月01日 13:57
  • 527

孟子e章

http://dotnet.aspx.cc/ 
  • canduecho
  • canduecho
  • 2008年04月06日 23:18
  • 447

用jsp把网页内容保存为excel文件

项目中使用了jasperreport做为报表工具,一直运行平稳,但前段时间客户要求按字段输出成excel报表, 而jasper报表尽管可以输出成excel但不灵活,不能灵活的选取输出字段,为此,想直接...
  • iloveqing
  • iloveqing
  • 2007年04月03日 09:26
  • 2557

将matlab数据保存为excel文件

今有如下数据,欲将其写入data.xls文件中。 angle = [-180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 4...
  • ROBERT_TONNY
  • ROBERT_TONNY
  • 2014年06月16日 14:30
  • 6880

excel数据导入到datagrid

首先把excel的数据检索出来,与对access的操作类似,使用olede就可以,其次把数据放到datatable中,绑定就行了。sampleif(!IsPostBack)   {    string...
  • bohua2008
  • bohua2008
  • 2007年07月25日 11:50
  • 414

使用Qt的QAxObject将Excel文件转成CSV文本文件

需要注意:以下代码需要在GUI环境的程序中才能运行,否则 setControl() 将会报错。#include #include #include #include bool ExcelToCs...
  • e5Max
  • e5Max
  • 2016年02月18日 11:32
  • 1376

将Excel某区域保存为图片

/// /// 将Excel某区域保存为图片 /// 参考 http://www.csharpwin.com/csharpspace/12542r6535.shtml /// ...
  • sinat_27305053
  • sinat_27305053
  • 2016年11月06日 09:46
  • 573
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将 DataGrid 的数据保存为 Excel 文件(孟子E章)
举报原因:
原因补充:

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