天天看點

.net 從用戶端直接下載下傳檔案

.net讀取oracle資料庫 指定表,生成tab分割的文本檔案,直接向用戶端輸出檔案

背景函數:

public static void gettext(string sql, HttpResponse resp)
    {
        //定義表對象與行對像,同時用DataSet對其值進行初始化 
        DataSet ds = shaodb.getds(sql);
        DataTable dt = ds.Tables[0];
        DataRow[] myRow = dt.Select("");
        int colnum = dt.Columns.Count;
        int rownum = dt.Rows.Count;
        string FileName = "shao_tab.txt";
        resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
        string colHeaders = "", ls_item = "";
        for (int i = 0; i < colnum; i++)
        {
            colHeaders += dt.Columns[i].Caption.ToString() + "\t";
        }
        colHeaders += "\r\n";
        resp.Write(colHeaders);
        //逐行處理資料   
        foreach (DataRow row in myRow)
        {
            for (int i = 0; i < colnum; i++)
                ls_item += row[i].ToString() + "\t";
            ls_item += "\r\n";
            resp.Write(ls_item);
            ls_item = "";
        }
        resp.End();
    }
           

前台調用:

protected void Button2_Click(object sender, EventArgs e)
    {
        string sql = "select * from tab1 where rownum<2000 ";
        shaodb.gettext(sql, Page.Response);
    }