Response.Clear()和Response.ClearContent()区别

本文详细介绍了ASP.NET框架中Response.Clear()、Response.ClearContent()和Response.ClearHeaders()方法的功能区别,帮助开发者理解如何有效地管理和清除HTTP响应的缓存和头部信息。

Response.Clear()方法 Clear方法删除所有缓存中的HTML输出。但此方法只删除Response显示输入信息,不删除Response头信息。

  Response.ClearContent()方法 ClearContent与Clear方法区别就是ClearContent方法不仅删除Response显示输出信息而且还删除Response头信息

  Response.ClearHeaders()方法 ClearHeaders方法只删除头信息,而不删除Response显示输出信息.

转载于:https://www.cnblogs.com/yitong/p/4331747.html

public static void ToExeclHaveName(DataTable dt, Dictionary<string, string> execlTitle, string filename, int ttt = 0) { int rowCount = dt.Rows.Count; int colCount = dt.Columns.Count; // *****************获取数据******************** object[,] objData; // 创建缓存数据 // 获取列标题 if (execlTitle.Count > 0) { objData = new Object[rowCount + 1, execlTitle.Count]; int j = 0; foreach (KeyValuePair<string, string> str in execlTitle) { objData[0, j] = str.Value; j++; } } else { objData = new Object[rowCount + 1, colCount]; for (int i = 0; i < colCount; i++) { objData[0, i] = dt.Columns[i].ColumnName; execlTitle.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); } } // 获取具体数据 for (int i = 1; i <= rowCount; i++) { System.Data.DataRow dr = dt.Rows[i - 1]; int j = 0; foreach (KeyValuePair<string, string> str in execlTitle) { objData[i, j] = dr[str.Key]; j++; } } //WriteLog("dt_row:" + dt.Rows.Count); //超过65536报超过多大行数异常 //分工作表批量导出 NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); System.IO.MemoryStream ms = new System.IO.MemoryStream(); int arrylenght = 0; int totalRow = dt.Rows.Count; //WriteLog("导出数量:" + totalRow); if (totalRow > 65000) { int _ceil = totalRow / 65000; int _mod = totalRow % 65000; if (_mod == 0) { arrylenght = _ceil; } else { arrylenght = _ceil + 1; } //WriteLog("循环行数:" + arrylenght); for (int t = 1; t <= arrylenght; t++) { //使用控件 NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("test_0" + t); //生成表头 NPOI.SS.UserModel.IRow row_head = sheet.CreateRow(0); for (int i = 0; i < execlTitle.Count; i++) { if (dt.Rows[0][i] != null) row_head.CreateCell(i).SetCellValue(Convert.ToString(objData[0, i])); } //详细内容 int nrnum = 0; if (arrylenght != _ceil && t == arrylenght) { nrnum = totalRow - (_ceil * 65000); } else { nrnum = 65000; } int k = 0; int _j = 65000 * (t - 1); for (int j = 0; j < nrnum; j++) { k = _j + j; NPOI.SS.UserModel.IRow row = sheet.CreateRow(j + 1); for (int i = 0; i < execlTitle.Count; i++) { if (dt.Rows[k][i] != null) { row.CreateCell(i).SetCellValue(Convert.ToString(objData[k + 1, i])); } } } } } else { //使用控件 //NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("test_01"); //生成表头 NPOI.SS.UserModel.IRow row_head = sheet.CreateRow(0); for (int i = 0; i < execlTitle.Count; i++) { if (dt.Rows[0][i] != null) row_head.CreateCell(i).SetCellValue(Convert.ToString(objData[0, i])); } //详细内容 for (int j = 0; j < dt.Rows.Count; j++) { NPOI.SS.UserModel.IRow row = sheet.CreateRow(j + 1); for (int i = 0; i < execlTitle.Count; i++) { if (dt.Rows[j][i] != null) { if (ttt == 0) { row_head.Height = 12 * 120;//设置高度 if (i == 1 || i > 3) sheet.SetColumnWidth(i, 60 * 240); //设置某一列宽度 else sheet.SetColumnWidth(i, 30 * 240); //设置某一列宽度 } if (j == 0) { if (filename.Equals("商家信息导出")) { if (i == 0) sheet.SetColumnWidth(i, 180 * 30); if (i != execlTitle.Count - 1 && i >= execlTitle.Count - 4) sheet.SetColumnWidth(i, 240 * 30); } } NPOI.SS.UserModel.ICell icell = row.CreateCell(i); icell.CellStyle.WrapText = true; icell.CellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; icell.CellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; icell.SetCellValue(Convert.ToString(objData[j + 1, i])); } } } } HttpContext.Current.Response.Charset = "UTF-8"; HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; HttpContext.Current.Response.HeaderEncoding = System.Text.Encoding.UTF8; // 写入到客户端 book.Write(ms); HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", filename)); HttpContext.Current.Response.BinaryWrite(ms.ToArray()); book = null; ms.Close(); ms.Dispose(); }这是我原来的导出excel,现在我需要在导出的excel中添加半透明的水印,水印内容为:”健康学吧+当前导出日期“,我的环境是.net framework 部署在centos中的jexus中,centos有/usr/share/fonts/kingsoft/msyhl.ttc: Microsoft YaHei,微软雅黑,Microsoft YaHei Light,微软雅黑 Light:style=Light,Regular字体存在并且检查了动态库ls -l /usr/lib64/libgdiplus.so 存在这个
最新发布
09-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值