Web 中將DataSet的內容下載到本地EXCEL格式文件

/// <summary>
        
/// type=="1"時導出爲EXCEL格式文件;type=="2"時導出爲XML格式文件
        
/// </summary>
        
/// <param name="ds"></param>
        
/// <param name="typeid"></param>
        
/// <param name="FileName"></param>

        public void CreateExcel(DataSet ds,string type,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(type=="1")
            
{
                
//取得數據表各列標題,各標題之間以 分割,最後一個列標題後加回車符
                for(i=0;i<dt.Columns.Count-1;i++)
                    colHeaders
+=dt.Columns[i].Caption.ToString()+" ";
                colHeaders 
+=dt.Columns[i].Caption.ToString() +" ";            
                
//向HTTP輸出流中寫入取得的數據信息
                resp.Write(colHeaders);    
                
//逐行處理數據        
                foreach(DataRow row in myRow)
                
{
                    
//在當前行中,逐列獲得數據,數據之間以 分割,結束時加回車符
                    for(i=0;i<row.Table.Columns.Count-1;i++)
                        ls_item 
+=row[i].ToString() + " ";                    
                    ls_item 
+= row[i].ToString() +" ";
                    
//當前行數據寫入HTTP輸出流,並且置空ls_item以便下行數據                
                    resp.Write(ls_item);
                    ls_item
="";
                }

            }

            
else
            
{
                
if(type=="2")
                
{    
                    
//從DataSet中直接導出XML數據並且寫到HTTP輸出流中
                    resp.Write(ds.GetXml());
                }
                
            }

            
//寫緩衝區中的數據到HTTP頭文件中
            resp.End();


        }
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章