WebApplication3.Controllers { public class SomeModel { public int id { get; set; } }//用于接收传递过来的参数 public class DownLoadController : ApiController { // GET: DownLoad public string Index() { return ""; } //导出excel功能控制器 //[Authorize] [HttpGet] [ActionName("Export")]//控制器名称重新定义,加上可以直接请求Exprot public HttpResponseMessage PostExportData(SomeModel model) { var file = ExcelStream(); //string csv = _service.GetData(model); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StreamContent(file); //a text file is actually an octet-stream (pdf, etc) //result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel"); //we used attachment to force download result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = "file.xls"; return result; } //得到excel文件流 private System.IO.Stream ExcelStream() { //var list = dc.v_bs_dj_bbcdd1.Where(eps).ToList(); HSSFWorkbook hssfworkbook = new HSSFWorkbook(); ISheet sheet1 = hssfworkbook.CreateSheet("保税订单"); IRow rowHeader = sheet1.CreateRow(0); //生成excel标题 rowHeader.CreateCell(0).SetCellValue("汇通单号"); rowHeader.CreateCell(1).SetCellValue("单据日期"); rowHeader.CreateCell(2).SetCellValue("订单号"); rowHeader.CreateCell(3).SetCellValue("收件人"); rowHeader.CreateCell(4).SetCellValue("收件人电话"); rowHeader.CreateCell(5).SetCellValue("收件人地址"); rowHeader.CreateCell(6).SetCellValue("物流公司"); rowHeader.CreateCell(7).SetCellValue("运单号"); rowHeader.CreateCell(8).SetCellValue("数量"); rowHeader.CreateCell(9).SetCellValue("状态"); //生成excel内容 //for (int i = 0; i < list.Count; i++) //{ // NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1); // rowtemp.CreateCell(0).SetCellValue(list[i].bh_user); // rowtemp.CreateCell(1).SetCellValue(list[i].rq.Value.ToString("yyyy-MM-dd HH:mm:dd")); // rowtemp.CreateCell(2).SetCellValue(list[i].bh_khdd); // rowtemp.CreateCell(3).SetCellValue(list[i].re_name); // rowtemp.CreateCell(4).SetCellValue(list[i].re_tel); // rowtemp.CreateCell(5).SetCellValue(list[i].re_fulladdress); // rowtemp.CreateCell(6).SetCellValue(list[i].bm_kdgs); // rowtemp.CreateCell(7).SetCellValue(list[i].kddh); // rowtemp.CreateCell(8).SetCellValue((int)list[i].sl_total); // rowtemp.CreateCell(9).SetCellValue(list[i].mc_state_dd); //} for (int i = 0; i < 10; i++) sheet1.AutoSizeColumn(i); MemoryStream file = new MemoryStream(); hssfworkbook.Write(file); file.Seek(0, SeekOrigin.Begin); return file; //return File(file, "application/vnd.ms-excel", "保税订单.xls"); } } }