public void CreateExcel(DataSet ds, string typeid, stringFileName)
       {
          HttpResponse resp;
           resp =Page.Response;
          resp.ContentEncoding =System.Text.Encoding.GetEncoding("GB2312");
          resp.AppendHeader("Content-Disposition", "attachment;filename=" +FileName);
           stringcolHeaders = "", ls_item = "";
           int i =0;
          //定义表对象和行对像,同时用DataSet对其值进行初始化 
           DataTabledt = ds.Tables[0];
           DataRow[]myRow = dt.Select("");
           //typeid=="1"时导出为EXCEL格式文档;typeid=="2"时导出为XML格式文档 
           if (typeid== "1")
           {
             //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符 
              for (i = 0; i< dt.Columns.Count; i++)
              {
                 if (i == dt.Columns.Count - 1)
                 {
                     colHeaders+= dt.Columns[i].Caption.ToString() + "\n";
                 }
                 else
                 {
                     colHeaders+= dt.Columns[i].Caption.ToString() + "\t";
                 }
              }
             //向HTTP输出流中写入取得的数据信息 
              resp.Write(colHeaders);
             //逐行处理数据 
              foreach (DataRow row inmyRow)
              {
                //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n 
                 for (i = 0; i < dt.Columns.Count;i++)
                 {
                     if (i ==dt.Columns.Count - 1)
                     {
                        ls_item += row[i].ToString()+ "\n";
                     }
                     else
                     {
                        ls_item += row[i].ToString()+ "\t";
                     }
                 }
                //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 
                 resp.Write(ls_item);
                 ls_item = "";
              }
           }
           else
           {
              if (typeid == "2")
              {
                //从DataSet中直接导出XML数据并且写到HTTP输出流中 
                 resp.Write(ds.GetXml());
              }
           }
          //写缓冲区中的数据到HTTP头文档中 
          resp.End();
       } 

.net DataSet 导出到Excel的更多相关文章

  1. DataSet导出到Excel,并生成文件(C#实现,可合并行和列)

    using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnostics; ...

  2. dataset导出成excel

    之前网上查找了很多关于这类的代码.要不是中文乱码,要不是就是太复杂.这个是我用过最好用的. //ds为数据源,filename为保存的文件名 publicvoidCreateExcel(DataSet ...

  3. ASP.NET用DataSet导出到Excel

    //读取临时文件    GYYW.DA.Common.Base_SqlDataBase daBZDM = new GYYW.DA.Common.Base_SqlDataBase();    DataS ...

  4. DataSet导出到Excel文件

    public static void ExportToExcel(DataSet source, string fileName) { System.IO.StreamWriter excelDoc ...

  5. .Net 中DataSet导出为excel的方法

    依旧是留下代码防止以后忘记 protected void Export_Click(object sender, EventArgs e) { DataSet data = "" ...

  6. DataSet数据导出为Excel文档(每个DataTable为一个Sheet)

    Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...

  7. NPOI DataSet导出excel

    /// <summary> /// DataSet导出到Excel的MemoryStream /// </summary> /// <param name="d ...

  8. C#数据导出到Excel源代码

    最近工作中需要做一个把用户信息作为excel导出的功能,就顺便整理搜集了一些常用的导出文件的源代码,以供以后不时之需,也希望能给大家带来一些方便 一.DataSet数据集内数据转化为Excel // ...

  9. C#将数据集DataSet中的数据导出到EXCEL文件的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

随机推荐

  1. Myeclipse中误报错误解决办法

    下午写jsp页面的时候,用了一个js文件,拖到MyEclipse下了报错,开始还以为是js文件问题,折腾了半天,后来才知道原来是Myeclipse误报错误.真坑爹啊呀~~ 解决方法: 点击你需要忽略错 ...

  2. vs2008、vs2012添加公共头文件

    当我们使用第三方库(opencv.boost)的时候,往往需要把它们的头文件和库文件添加到工程中去,然而如果每次新建工程都添加,那就太笨了,下面介绍方法可以让每个新建的工程都默认添加设置好的头文件和库 ...

  3. java中final关键字的使用方法

     [java中为什么会有final变量]: final这个关键字的含义是"这是无法改变的"或者"终态的": 那么为什么要阻止改变呢? java语言的发明者可 ...

  4. GEEK学习笔记— —程序猿面试宝典笔记(二)

    所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...

  5. win 7和虚拟机之间ping

    虚拟机的网卡和真实机的IP设为同一网段.用ping检查是否通,通了后用工具连接ssh看能否登录!如果成功的话winscp应该就能用了.如果不同就要就检查防火墙看是否开放了22端口,没有的话就要开放一下 ...

  6. TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复

    TCP超时重传 原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 影响超时重传机制协议效率的一个关键参数是重传超时时 ...

  7. Linux下vi命令小结

     进入vi的命令         vi filename :打开或新建文件,并将光标置于第一行首    vi n filename :打开文件,并将光标置于第n行首    vi filename :打 ...

  8. python之函数cmp

    cpm函数是内置函数.可直接调用. cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 但是,sorted ...

  9. HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  10. [Buzz Today]2013.08.18

    # Go 语言实现memcached:groupcache memcached作者Brad Fitzpatrick用Go语言重新实现了memcached. groupcache继承了memcached ...