/// 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();
}