zoukankan      html  css  js  c++  java
  • 将Dataset数据导出到Excel中,并且直接弹出保存对话框

         //由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(); 
            } 
    
  • 相关阅读:
    Java开发web的几种开发模式
    Tomcat7.0安装配置
    Apache与Tomcat 区别联系
    编写 Window 服务程序
    系列文章--SharePoint 开发教程
    Google Chrome浏览器调试功能介绍
    Chrome的JS调试工具
    Google Chrome 调试JS简单教程[更新]
    ASP.NET常用标准配置web.config
    WINDOWS下kill进程的命令
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1953036.html
Copyright © 2011-2022 走看看