DataGrid导出Excel解决方案

原创 2004年09月12日 20:13:00
article_author.gif Lion article_from.gif http://www.lionsky.net article_date.gif 2003-12-29
 

下载:点击下载


DataGrid_Export_Excel.aspx
<%@ Page language="c#" Codebehind="DataGrid_Export_Excel.aspx.cs" Src="DataGrid_Export_Excel.aspx.cs" AutoEventWireup="false"

Inherits="Exam.DataGrid_Export_Excel" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>Lion互动网络---演示:DataGrid导出到Excel当中</title>
 </HEAD>
 <body MS_POSITIONING="FlowLayout">
  <form id="Form1" method="post" runat="server">
   <FONT face="宋体">导出的Excel文件名:</FONT>
   <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
   <asp:Button id="Button1" runat="server" Text="Export"></asp:Button><asp:DataGrid id="DataGrid1"

runat="server" BorderWidth="1px"></asp:DataGrid>
  </form>
 </body>
</HTML>

DataGrid_Export_Excel.aspx.cs
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;

namespace Exam
{
 /// <summary>
 /// DataGrid_Export_Excel 的摘要说明。
 /// </summary>
 public class DataGrid_Export_Excel : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.TextBox TextBox1;
  protected System.Web.UI.WebControls.Button Button1;
  protected System.Web.UI.WebControls.DataGrid DataGrid1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   if(!Page.IsPostBack)
   {
    Bind();
   }
  }

  #region Function Custom

  private void CreatCache()
  {
   System.Data.DataTable DT = new System.Data.DataTable();
   DT.Columns.Add("ID",typeof(int));
   DT.Columns.Add("Name",typeof(string));
   DT.Columns.Add("AddTime",typeof(DateTime));
   DT.Columns[0].AutoIncrement = true;
   DT.Columns[0].AutoIncrementSeed = 1;
   DT.Columns[0].AutoIncrementStep = 1;
   for(int i=0;i<20;i++)
   {
    System.Data.DataRow dr= DT.NewRow();
    dr[1] = "欢迎光临Lion互动网络,第 "+ (i+1) +" 行";
    dr[2] = System.DateTime.Now.AddDays(1);
    DT.Rows.Add(dr);
   }  
   Context.Cache.Insert("Data", DT, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero); 
  
  }

  private void Bind()
  {
   if(Cache["Data"]==null)
   {
    CreatCache();
   }
   DataGrid1.DataSource = (System.Data.DataTable)Cache["Data"];
   DataGrid1.DataBind();
  }

  #endregion

  #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

  /// <summary>
  /// 导出文件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void Button1_Click(object sender, System.EventArgs e)
  {  
   if(this.TextBox1.Text.Trim()!=string.Empty)
   {
    if(Cache["Data"]==null)
    {
     CreatCache();
    }
    System.Data.DataTable DT = (System.Data.DataTable)Cache["Data"];
    OWC.SpreadsheetClass xlsheet = new OWC.SpreadsheetClass();
    int row=1;   
    foreach(System.Data.DataRow DR in DT.Rows)
    {
     for(int i=0;i<3;i++)
     {
      xlsheet.ActiveSheet.Cells[row,i+1] = DR[i].ToString();
     }
     row++;
    }
    DT.Clear();
    DT.Dispose();
    xlsheet.ActiveSheet.Export(Server.MapPath(".")+"//"+this.TextBox1.Text.Trim()+".XLS",OWC.SheetExportActionEnum.ssExportActionNone);
   }
  }
 }
}

easyui Jquery datagrid 导出Excel(转)

Jquery easyui datagrid 导出Excel(转) datagrid的扩展方法,用于将当前的数据生成excel需要的内容。   1 2 ...
  • springflower66
  • springflower66
  • 2016-06-29 08:14:27
  • 3796

JS导出datagrid导出Excel

function ExproterAll() { var rows = $('#dg').datagrid('getRows'); //var rows=$('#dg').datagrid("ge...
  • suifeng411
  • suifeng411
  • 2015-10-21 13:32:44
  • 1420

easyui datagrid 数据导出到Excel

  • 2014年03月25日 15:48
  • 17KB
  • 下载

EasyUI----DataGrid 导出 Excel

最近做的安防项目有个功能,需要把DataGrid中的数据导出,下面通过代码一步一步的介绍; 首先在js中写一个扩展类,主要的功能是把DataGrid中的数据转换成Excel的XML格式...
  • u010853701
  • u010853701
  • 2015-08-16 17:40:53
  • 7179

jquery easyui datagrid纯js导出到excel

说明:easyui本身的datagrid不支持导出excel,查了一些资料后的结合后端代码实现导出功能的都是C#, 下面的例子使用jquery前端代码导出excel          主要的方法是使用...
  • current_person
  • current_person
  • 2016-01-21 14:07:39
  • 11004

easyUI datagrid数据导出为Excel

功能实现方法与之前的一篇文章类似,但考虑到方便以后使用,直接记下方便查询使用。友情链接function ExporterExcel() { //获取Datagride的所有数据集合 v...
  • why15732625998
  • why15732625998
  • 2017-04-19 13:12:40
  • 1512

easyui-datagrid-JavaScript-导出Excel、合并单元格

使用easyui 的datagrid展示数据,同时实现合并单元格和excel导出,使用JavaScript实现下列代码。...
  • u010937362
  • u010937362
  • 2016-05-17 16:48:44
  • 2361

easyUI datagrid导出excel(所见即所得)

实现主要用到网友写的一个扩展jeasyui.extensions.datagrid.export.js调用方法简单,直接下载实例代码吧!http://yunpan.cn/cF7sydr9Kk7fi ...
  • cctvcqupt
  • cctvcqupt
  • 2015-11-03 16:58:32
  • 980

【WPF】将DataGrid内容导出到Excel

引言在完成将DataGrid的内容导出到Excel的时候,参考了一个印度小伙的文章http://www.codeproject.com/Articles/120480/Export-to-Excel-...
  • u013201439
  • u013201439
  • 2016-04-06 17:43:29
  • 3958

Easy UI DataGrid 导出Excel表格

大体介绍一下,前后端完全分离。前端html5,后台用的asp.net的一般处理程序。 自己写了一个单独的js来实现报表的导出,因为客户对于报表的样式要求不是很高,所以做成这样基本够用了。 接下来贴...
  • DrawDream
  • DrawDream
  • 2015-09-02 13:54:21
  • 3906
收藏助手
不良信息举报
您举报文章:DataGrid导出Excel解决方案
举报原因:
原因补充:

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