最近看园里有几篇写有关导出导入excel的博客,我正好最近在项目中也有涉及想来一起分享一下,正好整理一下自己的思路。

一、异步的方式是通过iframe来实现,代码如下:

if ($('#downloadexcel').length <= 0)
            $('body').append("<iframe id=\"downloadexcel\" style=\"display:none\"></iframe>");
        $('#downloadexcel').attr('src', url);

二、生成excel文件用的第三方组件NPOI,具体如何用园子里有很多关于这方面的资料,这里就不展开了。

三、这里主要介绍一下如何简化HttpResponse到前端生成excel,下面会贴出核心代码,希望给大家有所帮助。

  1. 声明一个excel返回实体,代码如下:
    /// <summary>
        /// 表示返回的流数据。
        /// </summary>
        [DataContract]
        public class ExcelResultMessage
        {
            #region [ Privates ]
    
            private MessageType type = MessageType.Info;
            private string description = string.Empty;
    
            #endregion
    
            #region [ Properteis ]
    
            /// <summary>
            /// 返回结果信息提示类型。
            /// </summary>
            [DataMember(Order=1)]
            public MessageType Type
            {
                get { return this.type; }
                set { this.type = value; }
            }
    
            /// <summary>
            /// 返回结果信息提示。
            /// </summary>
            [DataMember(Order=2)]
            public string Description
            {
                get { return this.description; }
                set { this.description = value; }
            }
    
            /// <summary>
            /// 返回结果数据。
            /// </summary>
            [DataMember(Order=3)]
            public MemoryStream Data { get; set; }
    
            /// <summary>
            /// 文件名
            /// </summary>
            [DataMember(Order = 4)]
            public string FileName { get; set; }
    
            #endregion
        }
    View Code

相关文章:

  • 2021-05-31
  • 2021-06-15
  • 2022-12-23
  • 2022-12-23
  • 2021-08-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-29
  • 2021-08-07
  • 2022-12-23
  • 2021-06-09
  • 2021-10-25
相关资源
相似解决方案