zoukankan      html  css  js  c++  java
  • ASP.NET MVC RDLC-导出

            #region 导出
            /// <summary>
            /// 导出Excel或Pdf文件,通过文件扩展名自动识别
            /// </summary>
            /// <param name="name">文件路径及名称(包括扩展名)</param>
            /// <returns>导出成功返回true,否则返回false</returns>
            private bool ReportExport(string name)
            {
                bool result = false;

                string Name = name;
                string strFileName;//文件名
                string strExtend = ".xls";//扩展名
                string strFormat = "Excel";//文件格式
                bool validate = false;

                if (name != null || name.Trim() != String.Empty)
                {
                    Name = name.Trim();
                    strFileName = Path.GetFileName(Name);
                    if (strFileName.Trim() != String.Empty)
                    {
                        strExtend = Path.GetExtension(Name).Trim().ToLower();

                        switch (strExtend)
                        {
                            case ".xls":
                                strFormat = "EXcel";
                                break;
                            case ".pdf":
                                strFormat = "PDF";
                                break;
                            default:
                                strFormat = "Excel";
                                break;
                        }
                        validate = true;
                    }
                }

                if (validate)
                {
                    Warning[] Warnings;
                    string[] strStreamIds;
                    string strMimeType;
                    string strEncoding;
                    string strFileNameExtension;

                    byte[] bytes = this.rptView.LocalReport.Render(strFormat, null, out strMimeType,
       out strEncoding, out strFileNameExtension, out strStreamIds, out Warnings);

                    using (System.IO.FileStream fs = new FileStream(Name, FileMode.Create))
                    {
                        fs.Write(bytes, 0, bytes.Length);
                    }

                    result = true;
                }

                return result;
            }
            #endregion 导出

  • 相关阅读:
    java中为什么notify()可能会导致死锁,而notifyAll()则不会
    java中wait()和sleep()的区别;notify()和notifyall()区别
    你不知道的Golang盲点汇总【持续更新】
    rsync性能终极优化【Optimize rsync performance】
    基于cephfs搭建高可用分布式存储并mount到本地
    检测代码潜在bug和质量之SonarQube
    玩透二叉树(Binary-Tree)及前序(先序)、中序、后序【递归和非递归】遍历
    好用到哭!8个技巧让Vim菜鸟变专家
    Golang fmt Printf 格式化参数手册/详解/说明
    淘宝滑动验证码研究
  • 原文地址:https://www.cnblogs.com/xhety/p/3682739.html
Copyright © 2011-2022 走看看