zoukankan      html  css  js  c++  java
  • webapi导出Excel

    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");
            }
    
        }
    }
  • 相关阅读:
    C语言之浮点类型
    C语言之变量基本使用
    Linux之Shell位置参数变量
    C语言之字符类型
    Linux之设置环境变量
    C# 获取任何给定类型Type的三种形式
    指针 PointerPlayground2 示例
    mount bind
    mono2.10.9]# ./configure help
    创建基于栈的数组
  • 原文地址:https://www.cnblogs.com/zyg316/p/13468348.html
Copyright © 2011-2022 走看看