.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);
    }


版权声明:本文为mangge原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。