直接上代码,这个是一个在webFrom中的例子,要请求的页面是ashx

 public void ExportVisaFeeAll(HttpContext context)
{
try
{
string title ="签证费用表"; string[] idArray = context.Request["idStr"].ToString().Split(',');
DateTime startDate = DateTime.Parse(context.Request["startDate"]);
DateTime endDate = DateTime.Parse(context.Request["endDate"]).AddDays(); string unit = context.Request.QueryString["unit"];
string groupname = context.Request.QueryString["groupname"];
string countryname = context.Request.QueryString["countryname"];
string Member = context.Request.QueryString["Member"];
string LetterNumbers = context.Request.QueryString["LetterNumbers"];
List<VisaFeeMain> visaFees = new OilDigital.CGGL.Web.VisaApply.VisaApplyProcess().GetVisaFeeByQueryString(startDate, endDate, unit, groupname, countryname, Member, LetterNumbers);
for (int i = visaFees.Count-; i >=; i--)
{
bool flag = true;
for (int j = ; j < idArray.Length; j++)
{
if (visaFees[i].Id.ToString() == idArray[j])
{
flag = false;
break;
}
}
if (flag)
{
visaFees.RemoveAt(i);
}
}
HSSFWorkbook wb = new HSSFWorkbook();//创建工作薄
HSSFSheet sheet = (HSSFSheet)wb.CreateSheet(title); //创建工作表
HSSFRow row_Title = (HSSFRow)sheet.CreateRow(); //创建列头行
row_Title.HeightInPoints = 19.5F; //设置列头行高
string[] titleStr = { "批件文号", "申办国家(地区)", "总金额", "人员名单", "总人数", "备注", "创建时间", "创建人"};
//设置列宽
for (int i = ; i < titleStr.Length; i++)
{
sheet.SetColumnWidth(i, * ); }
//设置列样式
HSSFCellStyle cs_Title = (HSSFCellStyle)wb.CreateCellStyle(); //创建列头样式
cs_Title.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; //水平居中
cs_Title.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; //垂直居中
HSSFFont cs_Title_Font = (HSSFFont)wb.CreateFont(); //创建字体
cs_Title_Font.FontHeightInPoints = ; //字体大小
cs_Title_Font.Boldweight = (short)FontBoldWeight.Bold;
cs_Title.SetFont(cs_Title_Font); //将字体绑定到样式
//填充列头内容
for (int i = ; i < titleStr.Length; i++)
{
HSSFCell cell_Title = (HSSFCell)row_Title.CreateCell(i); //创建单元格
cell_Title.CellStyle = cs_Title; //将样式绑定到单元格
cell_Title.SetCellValue(titleStr[i]);
}
//设置单元格样式
HSSFCellStyle cs_Content = (HSSFCellStyle)wb.CreateCellStyle(); //创建列头样式
cs_Content.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; //水平居中
cs_Content.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; //垂直居中
//填充单元格
int r = ;
for (r = ; r < visaFees.Count; r++)
{
int i = r;
HSSFRow row = (HSSFRow)sheet.CreateRow(i + );
row.HeightInPoints = ;
string[] arr = { visaFees[i].LetterNumbers.ToString(), visaFees[i].EmbassyNames, visaFees[i].Fee, visaFees[i].Names, visaFees[i].TotalAmount.ToString(), visaFees[i].Memo, visaFees[i].CreatedTime.ToString("yyyy-MM-dd"), visaFees[i].CreatedBy };
for (int j = ; j < arr.Length; j++)
{
HSSFCell cell = (HSSFCell)row.CreateCell(j); //创建单元格
cell.CellStyle = cs_Content;
cell.SetCellValue(arr[j]); }
} HttpResponse httpResponse = HttpContext.Current.Response;
httpResponse.Clear();
httpResponse.Buffer = true;
//httpResponse.Charset = Encoding.UTF8.BodyName;
httpResponse.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("签证费用.xls"));
httpResponse.ContentEncoding = System.Text.Encoding.UTF8;
httpResponse.ContentType = "application/vnd.ms-excel; charset=UTF-8";
wb.Write(httpResponse.OutputStream);
httpResponse.End();
}
catch (Exception ex)
{ throw new Exception(ex.Message);
}
}

最新文章

  1. Atitit &#160;&#160;图像处理&#160;平滑&#160;也称&#160;模糊,&#160;归一化块滤波、高斯滤波、中值滤波、双边滤波)
  2. jquery之hasClass
  3. Java向前引用容易出错的地方
  4. php学习记录 易混淆
  5. 报错:java.lang.IllegalStateException: Cannot call sendError() after the response has been committed(待解答)
  6. 1.5.3 什么是Tokenizer-分词
  7. 【HDOJ】3277 Marriage Match III
  8. Material Design之TextInputLayout、Snackbar的使用
  9. jQuery.each(object, [callback])方法,用于处理json数组
  10. MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间
  11. Spring学习—生成图片验证码
  12. HTTP 首部字段详细介绍
  13. bzoj千题计划252:bzoj1095: [ZJOI2007]Hide 捉迷藏
  14. 20172328 2018-2019《Java软件结构与数据结构》第四周学习总结
  15. Android JNI 学习(一):JNI 简介
  16. 函数式编程(九)——map,filter,reduce
  17. 2016年蓝桥杯省赛A组c++第7题(图论)
  18. cube-ui中弹窗
  19. muscle 软件进行多序列比对
  20. Python知识总汇

热门文章

  1. Microsoft Office Specialist (MOS) 认证考试详解---word 2010 部分
  2. git .gitignore忽略规则不生效解决办法
  3. 【bzoj4887】:[Tjoi2017]可乐 矩阵乘法,快速幂
  4. jquery源码解析:pushStack,end,ready,eq详解
  5. json与xml简介
  6. nginx高性能WEB服务器系列之四配置文件详解
  7. P4850 [IOI2009]葡萄干raisins 记忆化搜索
  8. 浅谈SLAM的回环检测技术
  9. JavaWeb学习笔记(十五)—— 使用JDBC进行批处理
  10. vue-cli 3.5 解决 typescript cannot find file 问题。