ASP.NET 一般处理程序下载

在网络上经常需要给用户提供一下下载功能,给大家提供几种方法:

 
 
1.以下代码是重数据库中读取数据,下载保存为TXT格式的文件。
public class Down : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
       // context.Response.ContentType = "text/plain";
//设置文件头,文件名
        context.Response.AddHeader("Content-Disposition", "attachment;filename=" +context.Server.UrlEncode("文件名")+ ".txt");
        StringBuilder sb = new StringBuilder();
        List<FilterWord> fwlist=  new FilterWordManager().GetAll();//读取数据库中的数据
        foreach (FilterWord item in fwlist)
        {
            sb.AppendLine(item.WordPattern+"={"+item.ReplaceWord+"}");
        }
        context.Response.Write(sb.ToString());
    }
    public bool IsReusable {
        get {
            return false;
        }
    }
}
 
2.以下代码.以下代码是重数据库中读取数据,下载保存为XLS格式的文件。
在这里使用的是NOPI,它可以用来生产EXECL文件。
 string file = HttpUtility.UrlEncode("动态生成.xls");//url编码,防止乱码
        context.Response.AddHeader("Content-Disposition", "attachment;filename=" + file);
        
        List<FilterWord> fwlist = new FilterWordManager().GetAll();
        HSSFWorkbook work = new HSSFWorkbook();
        HSSFSheet sheet = work.CreateSheet("过滤词库");//页
        int rowindex=0;
        HSSFRow row;//行
        HSSFCell cell1;//列1
        HSSFCell cell2;//列2
        row= sheet.CreateRow(0);
        cell1= row.CreateCell(0, HSSFCell.CELL_TYPE_STRING);
        cell1.SetCellValue("词汇");
        cell2 = row.CreateCell(1,HSSFCell.CELL_TYPE_STRING);
        cell2.SetCellValue("级别");
        foreach (FilterWord item in fwlist)
        {
            rowindex++;
            row = sheet.CreateRow(rowindex);
            cell1= row.CreateCell(0,HSSFCell.CELL_TYPE_STRING);
            cell1.SetCellValue(item.WordPattern);
            cell2 = row.CreateCell(1,HSSFCell.CELL_TYPE_STRING);
            cell2.SetCellValue(item.ReplaceWord);
        }
        work.Write(context.Response.OutputStream);
原文地址:https://www.cnblogs.com/findchance/p/2670245.html