将Dataset数据导出到Excel中,并且直接弹出保存对话框

摘要:
//正在导出ExcelpublicvoidCreateExcel(DataSets,stringtypeid,stringFileName){HttpResponseresp;resp=Page.resp;resp.ContentEncoding=System.Text.Encoding.GetEncoding(“GB2312”);resp.AppendHeader(“Con”
     //由dataset导出Excel        
        public void CreateExcel(DataSet ds,string typeid,string FileName) 
        { 
            HttpResponse resp; 
            resp = Page.Response; 
            resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
            resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); 
            string colHeaders= "", ls_item=""; 
            int i=0; 

            //定义表对象和行对像,同时用DataSet对其值进行初始化 
            DataTable dt=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 in myRow) 
                { 
                    //在当前行中,逐列获得数据,数据之间以\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(); 
        } 

免责声明:文章转载自《将Dataset数据导出到Excel中,并且直接弹出保存对话框》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇LocalDate,LocalTime,LocalDateTime的基本使用C# Regex类用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

五 数据组织模式 (重组数据) 1 分层结构模式

数据组织模式 是通过分区、分片、排序等方式将个别记录的价值突显出来。 分布式系统是可以通过分、分片及排序方式优化性能。 分层结构模式 分层结构模式是从数据中创造出不同与原有结构的新记录。 当从 RDBMS 中将数据迁移至 hadoop 系统时,首先考虑将数据重新格式化成对计算更为有利的结构。 案例: 一个网站上的帖吧结构。 从RDBMS 迁移...

Apache Beam是什么?

  不多说,直接上干货! 以下是Apache Beam的官网 : https://beam.apache.org/ Apache Beam的前世今生       Apache Beam前身是Google Dataflow SDK,DataFlow是谷歌的提供大数据计算平台。在DataFlow之前,谷歌的批处理和流处理(流计算,实时处理)使用了不同系统,流...

大数据采集和抽取怎么做?这篇文章终于说明白了!

本文来源于公众号【胖滚猪学编程】,转载请注明出处! 关于数据中台的概念和架构,我们在大白话 六问数据中台和数据中台全景架构及模块解析!一文入门中台架构师!两篇文章中都说明白了。从这一篇文章开始分享中台落地实战。 其实无论是数据中台还是数据平台,数据无疑都是核心中的核心,所以闭着眼睛想都知道数据汇聚是数据中台/平台的入口。纵观众多中台架构图,数据采集与汇聚都...

LVM 数据迁移

当用作LVM的某磁盘需挪作他用时,我们需要把该磁盘上的数据迁移到其它磁盘 数据迁移有两种方式:1.手动选择迁移位置、2.不选择迁移位置 1.手动选择迁移位置 首先我们查看一下当前pv 空间 [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 ce...

C# windows服务定时处理/例每天凌晨1点处理数据

 创建一个Job,GetData类为具体要执行的 IJobDetail job2 = JobBuilder.Create<GetData>() //创建一个作业,添加job .WithIdentity("邮件发送", "定时邮件发送") .Build();  创建一个...

python用sqlite3模块操作sqlite数据库-乾颐堂

SQLite是一个包含在C库中的轻量级数据库。它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard variant)的SQL查询语句来访问数据库。 一些应用可是使用SQLite保存内部数据。它也可以在构建应用原型的时候使用,以便于以后转移到更大型的数据库。 SQLite的主要优点: 1. 一致性的文件格式: 在SQLite的官方文档中是...