React+.NetCore API 实现动态列导出

本贴最后更新于 1927 天前,其中的信息可能已经水流花落

所用技术栈

  1. 前端:React,Antd
  2. 后端:ASP.NET CORE ,System.Linq.Dynamic.Core,EPPlus.Core

基本思路

  1. NetCore 解决生成 Excel 文件(流),使用了 EPPlus.Core。
  2. EF(LINQ)解决动态列的问题,,System.Linq.Dynamic.Core
  3. 解决文件下载的问题,最开始的思路是,直接传流到前端,前端读 response.blob(),然后生成文件,结果......失败,因为所有请求要先过 Node 层,流经过一次转发后,死活没办法变成 excel 文件。前端能力不强,所以放弃这个思路了。 按照后端的解决方式,就是直接把文件生成到服务端,然后返回路径给前端,前端跳转一次,就可以实现下载,尝试,成功!

核心代码

后端代码模块

 public class ExportRequestModel<T>
    {

        public List<ExportRowModel> RowRequest { get; set; }
        /// <summary>

        /// 导出人ID

        /// </summary>

        public string ExportUserID { get; set; }

        /// <summary>

        /// 导出模块名称

        /// </summary>

        public string ModuleName { get; set; }

        public T Where { get; set; }

    }
    public class ExportRowModel
    {

        public string RowName { get; set; }

        public string RowKey { get; set; }

        public string TableName { get; set; }

    }

ExcelHelper.cs:


                
  • .NET
    27 引用 • 6 回帖 • 5 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 384 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...