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

【WPF】将DataGrid内容导出到Excel

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

MVC项目中如何用JS导出EasyUI DataGrid为Excel

在做一中考评项目的时候,遇到了这么一个需求,就是把评教后得到的老师的成绩导出为Excel。其实需求很普通,实现起来有些复杂,因为老师考评不但有固定的考核项,还有额外加分项。于是我们就抽出来了一个表,专...
  • u013038861
  • u013038861
  • 2016年01月03日 21:50
  • 3829

Silverlight DataGrid导出Excel(原生表头与复杂表头)

public static string GridDataToExcel(DataGrid _dg, string WorksheetName, string WorkTitle, string st...
  • CommandBaby
  • CommandBaby
  • 2013年07月24日 14:15
  • 1391

实现easyui的datagrid导出为excel,已处理导出乱码

今天给大家介绍下如何实现datagrid内容导出为excel文件。以下为代码实现: export.js [javascript] view plaincopy ...
  • sunwork888
  • sunwork888
  • 2015年04月07日 17:27
  • 995

EasyUI 如何结合JS导出Excel文件

废话俺就少说了,直接进入正题!!单纯的JS能够导出Excel的不多见,一般都需要调用客户端所安装的Office Excel组件来完成这个工作。这里我主要讲EasyUI内的DataGrid如何结合JS导...
  • jumtre
  • jumtre
  • 2014年11月14日 16:05
  • 30504

DataGrid输出到Excel并进行格式化处理

在我们把DataGrid上的数据导入到Excel的时候,如果遇到比较长的数字字符串,比如身份证号码,就会在Excel里当成数字看待,并转换成科学计数法的格式,造成数据的丢失,下面这个方法就解决了这个问...
  • my98800
  • my98800
  • 2016年08月01日 08:09
  • 642

使用NPOI方法导出数据到excel表中

使用NPOI方法导出到excel可以大量提高导出速度!步骤如下: (1)使用NPOI首先要有NPOI开发包(网上直接搜资源有的) (2)解压后把下边两个文件拷贝到自己的项目下(在bin目录...
  • u010870518
  • u010870518
  • 2014年08月28日 11:56
  • 1885

将Excel的内容复制到EasyUI的dataGrid里(复制列)

在网上找了好久,将Excel的内容复制到EasyUI的dataGrid里,都没有找到相应的解决方案,于...
  • tanfazhong
  • tanfazhong
  • 2014年07月01日 13:08
  • 4722

C# 将数据导出到Excel汇总

将DataGrid控件中的数据导出Excel 上述方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据。 ...
  • luoyanqing119
  • luoyanqing119
  • 2014年09月30日 16:55
  • 1913

导出datagrid中数据到Excel方法

在各类系统中,经常要将系统数据导出制作报表以用来打印或汇报工作,本文以datagrid为例,阐述在工作中使用的一种导出技术  JSP页面数据输出使用的是Jquery-easyUI的datagrid,给...
  • lxq199422
  • lxq199422
  • 2017年06月14日 09:38
  • 71
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataGrid导出Excel解决方案
举报原因:
原因补充:

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