码迷,mamicode.com
首页 > 其他好文 > 详细

bianwu经典

时间:2014-12-15 11:43:30      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   使用   sp   for   

一、输出到excel

函数:

    protected void InputFileTheme(object[] Header,object [] DataFileds,string sql,string filename)
        {
            SqlDBHandler dbHandler=this.getDBHandler();
            string filterStr=",";
            string strTemp;

            Hashtable hashTable=new Hashtable();
            //hashTable.Add("laguage","513");//正文语种
            /*hashTable.Add("themetype3","504");//参考地图地域类别
            hashTable.Add("themetype4","505");//参考地图形式类别
            hashTable.Add("themetype5","508");//基础教材性质类别
            hashTable.Add("themetype6","506");//基础教材学科类别
            hashTable.Add("themetype8","519");//教辅性质
            //基础教材版别
            hashTable.Add("usesegment","509");//基础教材使用学段
            hashTable.Add("useterm","510");//基础教材使用学期
            hashTable.Add("managemode","511");//编务管理类别
            hashTable.Add("electype","608");//电子出版物类型 (dictid=608)
            
            hashTable.Add("bindmode","516");//装帧形式
            hashTable.Add("papersize","605");//纸张尺寸
            hashTable.Add("isfund","517");//出版基金类别
            */
            if(sql.Trim().Equals(""))
                return;
            if(DataFileds==null)
                return;
            if(filename.Equals(""))
                filename="default";
            int len;
            string strInput;

            StringWriter sw=new StringWriter();
        
            //输出表头
            if(Header!=null)
            {
                strInput="";
                for(len=0;len<Header.Length;len++)
                {
                    if(Header[len]!=null)
                    {
                        if(strInput.Equals(""))
                            strInput=Header[len].ToString();
                        else
                            strInput+=filterStr+Header[len].ToString();
                    }
                }//for(len=0;len<Header.Length;len++)
                strInput="序号"+filterStr+strInput;
                sw.WriteLine(strInput);
            }//if(Header!=null)
            
            DataTable dt=dbHandler.ExecuteDataTable(sql);
            dt=CncBw.Db.ThemeInfoSet.ThemeInfoDictTransfer(dt);
            int row=0;            
            foreach(DataRow dr in dt.Rows)
            {
                strInput="";
                row+=1;
                for(len=0;len<DataFileds.Length;len++)
                {
                    if(len==0)
                    {
                        
                        //输入字段,输出数据
                        if(dr[DataFileds[len].ToString()]!=null)
                        {
                            strTemp=dr[DataFileds[len].ToString()].ToString().Trim();                            
                            strTemp=strTemp.Replace(",","");
                            strInput=strTemp;
                        }
                        else
                        {    
                            strInput="null";
                        }//if(dr[DataFileds[len]]!=null)
                    }
                    else
                    {
                        if(dr[DataFileds[len].ToString()]!=null)
                        {
                            strTemp=dr[DataFileds[len].ToString()].ToString().Trim();                            
                            strTemp=strTemp.Replace(",","");
                            strTemp = strTemp.Replace("\r\n", " ");

                            strInput+=filterStr+strTemp;                        
                        }
                        else
                            strInput+=filterStr+"null";                        
                    }//if(len==0)

                }//for(len=0;len<DataFileds.Length;len++)
                strInput=row.ToString()+filterStr+strInput;
                sw.WriteLine(strInput);
            }//foreach(DataRow dr in dt.Rows)
        
            sw.Close();
            Response.AddHeader("Content-Disposition", "attachment;filename="+filename+".csv");
            Response.ContentType = "application/ms-excel";
            Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
            //Response.ContentEncoding=System.Text.Encoding.GetEncoding("unicode");
            Response.Write(sw);
            Response.End();    
            dbHandler.Close();
        }

二、调用

this.InputFileTheme(header,dataFileds,strSql,"bookinfo");

 

bianwu经典

标签:style   blog   io   ar   color   os   使用   sp   for   

原文地址:http://www.cnblogs.com/camelroyu/p/4164283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!