数据集导出CSV

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeBehind = " Export2Excel.aspx.cs "  Inherits = " WebApplication1.Export2Excel "   %>

<! 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:ScriptManager ID = " ScriptManager1 "  runat = " server " >
        
</ asp:ScriptManager >
        
< asp:Button ID = " Button1 "  runat = " server "  Text = " Button "  onclick = " Button1_Click "   />
        
< div >
        
< span > 通过UpdatePanel导出Excel </ span >
        
< asp:UpdatePanel ID = " updatePanel1 "  runat = " server " >
        
< ContentTemplate >
        
< asp:Button ID = " Button2 "  runat = " server "  Text = " Button "  onclick = " Button1_Click "   />
        
</ ContentTemplate >
        
< Triggers >
        
< asp:PostBackTrigger ControlID = " Button2 "   />
        
</ Triggers >
        
</ asp:UpdatePanel >
        
</ div >
    
</ div >
    
</ form >
</ body >
</ html >
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Data;
using  System.IO;

namespace  WebApplication1
{
    
public   partial   class  Export2Excel : System.Web.UI.Page
    {
        
protected   void  Page_Load( object  sender, EventArgs e)
        {

        }

        
public   void  DataSetToExcel(DataSet ds,  string  FileName)
        {
            
try
            {

                HttpResponse resp;
                resp 
=  HttpContext.Current.Response;
                resp.ContentEncoding 
=  System.Text.Encoding.GetEncoding( " GB2312 " );
                resp.AppendHeader(
" Content-disposition " " attachment;filename= "   + HttpUtility.UrlEncode(FileName)  +   " .xls " );
                resp.ContentType 
=   " application/ms-excel " ;

                
// 变量定义 
                 string  colHeaders  =   null ;
                
string  Is_item  =   null ;
                StringWriter sfw 
=   new  StringWriter();
                
// 定义表对象与行对象,同时用DataSet对其值进行初始化 
                System.Data.DataTable dt  =  ds.Tables[ 0 ];
                DataRow[] myRow 
=  dt.Select();
                
int  i  =   0 ;
                
int  cl  =  dt.Columns.Count;

                
// 取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符 
                 for  (i  =   0 ; i  <  cl; i ++ )
                {
                    colHeaders 
+=  dt.Columns[i].Caption.ToString()  +   " \t " ;
                }
                sfw.WriteLine(colHeaders);

                
// 逐行处理数据 
                 foreach  (DataRow row  in  myRow)
                {
                    
// 当前数据写入 
                     for  (i  =   0 ; i  <  cl; i ++ )
                    {
                        Is_item 
+=  row[i].ToString()  +   " \t " ;
                    }
                    sfw.WriteLine(Is_item);
                    
// sw.WriteLine(Is_item); 
                    Is_item  =   null ;
                }
                resp.Write(sfw);
                
// resp.Clear(); 
                resp.End();
            }
            
catch  (Exception e)
            {
                
throw  e;
            }
        }

        
protected   void  Button1_Click( object  sender, EventArgs e)
        {
            DataSet ds 
=   new  DataSet();
            DataTable dt 
=   new  DataTable();
            dt.TableName 
=   " 物资供应表 " ;
            dt.Columns.Add(
" Id " typeof ( int ));
            dt.Columns.Add(
" Wuzi " typeof ( string ));
            dt.Columns.Add(
" Number " , typeof ( int ));
            
for  ( int  i  =   0 ; i  <   100 ; i ++ )
            {
                Random r
= new  Random( 100 );

                DataRow row 
=  dt.NewRow();
                row[
" Id " =  i;
                row[
" Wuzi " =   " 物资名称 " + i.ToString();
                row[
" Number " ] = r.Next( 100 );
                dt.Rows.Add(row);
            }
            ds.Tables.Add(dt);
            
string  ff  =  System.DateTime.Now.Date.ToString().Split( '   ' )[ 0 ].ToString()  +   " 物资统计 " ;
            DataSetToExcel(ds, ff);
        }
    }
}

转载于:https://www.cnblogs.com/windthunder/archive/2011/04/18/2019513.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值