zoukankan      html  css  js  c++  java
  • Webapi导出数据到Execl中

    1 安装EPPlus.core

    2创建一个帮助类

    public class ExcelHelper
        {
            /// <summary>
            /// 导出数据到execl
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="dataList">数据</param>
            /// <param name="headers">表头</param>
            /// <returns></returns>
            public static MemoryStreamDto CreateDataToExcel<T>(List<T> dataList, List<string> headers)
            {
                string fileName = $"{Guid.NewGuid().ToString()}.xlsx";
                //保存在内存里,小文件,大文件的话得另外想办法  
                var stream = new MemoryStream();
                using (ExcelPackage package = new ExcelPackage(stream))
                {
                    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("sheet1");
                    worksheet.Cells.LoadFromCollection(dataList, true);
                    for (int i = 0; i < headers.Count; i++)
                    {
                        worksheet.Cells[1, i + 1].Value = headers[i];
                    }
                    package.Save();
                }
                stream.Position = 0;
                var memoryStreamDto = new MemoryStreamDto()   //一个自定的Dto,需要传什么参数可以自行定义
                {
                    Stream = stream,
                    FileName = fileName
                };
                return memoryStreamDto; 
            }
        }

    服务器调用

                var dataList = EntityList;    //要导入到Execl中的数据
                var headers = new List<string>() { "表头列名1", "表头列名2", "表头列名3", "表头列名4", "表头列名5" };
                var memoryStreamDto = ExcelHelper.CreateExcelFromList(dataList, headers);

    控制器调用

        public async Task<IActionResult> ExportDataListToExecl()   //与方法JsonResult不同,这里返回的是IActionResult
            {var result =  _service.ExportDataListToExecl();   //服务器的方法
                return File(result.Stream, "application/octet-stream", result.FileName);   //返回文件流形式,调用这个接口时,直接下载execl
            }
  • 相关阅读:
    ORACLE中dba,user,v$等开头的常用表和视图
    rman restore spfile from backup
    oracle11g设置归档模式和非归档模式
    Oracle数据文件改名
    Linux下rz/sz安装及使用方法
    oracle数据库rman备份计划及恢复
    高级数据查询SQL语法
    关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
    关系数据库常用SQL语句语法大全
    微服务化的基石——持续集成【转】
  • 原文地址:https://www.cnblogs.com/carlpeng/p/13440826.html
Copyright © 2011-2022 走看看