CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请教datagrid导出到EXCEL的问题!!

楼主laoye_key(laoye)2005-08-02 15:51:42 在 .NET技术 / C# 提问

我的程序为:  
   
    Excel.ApplicationClass   excelApp   ;  
          excelApp   =   new   Excel.ApplicationClass();  
  Excel.Workbook   excelBook   =excelApp.Workbooks.Add(1);  
  Excel.Worksheet   excelSheet=(Excel.Worksheet)excelBook.Worksheets[1];  
   
            excelApp.Visible=true;  
    excelSheet.Cells[1,1]="员工ID   ";  
    excelSheet.Cells[1,2]="小组";  
    excelSheet.Cells[1,3]="员工姓名   ";  
             
     
               
            for(int   i=1;i   <   dataGrid1.VisibleRowCount;i++)  
      {  
    excelSheet.Cells[i+1,1]=dataGrid1[i-1,0].ToString();  
    excelSheet.Cells[i+1,2]=dataGrid1[i-1,1].ToString();  
    excelSheet.Cells[i+1,3]=dataGrid1[i-1,2].ToString();  
  }  
  }  
  现在就是我想在EXCEL中做一个表头!我要怎么做?外就是这个excelSheet.Cells[i+1,1]=dataGrid1[i-1,0].ToString();   在datagrid里是“0011”可是到了EXCEL中它变成了11怎么搞的?? 问题点数:10、回复次数:2Top

1 楼daishengs(横舟摆渡)回复于 2005-08-02 16:03:02 得分 0

抄孟子E章的  
  在我们把DataGrid上的数据导入到Excel的时候,如果遇到比较长的数字字符串,比如身份证号码,就会在Excel里当成数字看待,并转换成科学计数法的格式,造成数据的丢失,下面这个方法就解决了这个问题,并示例如何进行其它的格式化。  
   
  查看例子  
   
  OutPutExcel.aspx  
   
  <%@   Page   language="c#"   Codebehind="OutPutExcel.aspx.cs"  
    AutoEventWireup="false"   Inherits="eMeng.Exam.OutPutExcel"   %>  
  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >  
  <HTML>  
  <HEAD>  
  <title>OutPutExcel</title>  
  </HEAD>  
  <body>  
  <form   id="Form1"   method="post"   runat="server">  
  <asp:DataGrid   id="DataGrid1"   runat="server"></asp:DataGrid>  
  <asp:Button   id="Button1"   runat="server"   Text="输出到Excel"></asp:Button>  
  </form>  
  </body>  
  </HTML>  
   
  OutPutExcel.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   eMeng.Exam  
  {  
  ///   <summary>  
  ///   OutPutExcel   的摘要说明。  
  ///   </summary>  
  public   class   OutPutExcel   :   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)  
  {  
  //   在此处放置用户代码以初始化页面  
  DataGrid1.DataSource=CreateDataSource();  
  DataGrid1.DataBind();  
  }  
  ///   <summary>  
  ///   创建数据源  
  ///   </summary>  
  ///   <returns>DataView</returns>  
  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;  
  }  
  ///   <summary>  
  ///   输出到Excel  
  ///   </summary>  
  ///   <param   name="sender"></param>  
  ///   <param   name="e"></param>  
  private   void   Button1_Click(object   sender,   System.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());  
  }  
   
  #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.DataGrid1.ItemDataBound   +=   new   System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);  
  this.Load   +=   new   System.EventHandler(this.Page_Load);  
   
  }  
  #endregion  
   
  private   void   DataGrid1_ItemDataBound(object   sender,   System.Web.UI.WebControls.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");  
  }  
  }  
  }  
  }Top

2 楼laoye_key(laoye)回复于 2005-08-02 16:40:42 得分 0

哟先谢谢了不过我的是在win下的不是在web下的!!对了怎么把一个题头放在excel前面啊!!Top

相关问题

  • datagrid导出到excel?
  • datagrid 导出到 excel
  • Datagrid导出到Excel
  • Datagrid导出Excel 的问题
  • DataGrid导出Excel的问题
  • DataGrid导出Excel出问题
  • 导出Excel问题,能使DataGrid导出的Excel比较美观?
  • DATAGRID“显示”的数据导出到EXCEL
  • 求datagrid导出到excel范例
  • DataGrid导出到Excel的问题

关键词

得分解答快速导航

  • 帖主:laoye_key

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo