DevExpress通用导出Excel,支持多个控件同时导出在同一个Sheet表

来源:互联网 发布:缓存服务器软件 编辑:程序博客网 时间:2024/05/29 02:43

文章出自深圳-淘神网友提供方案,在此仅做记录,谢谢。


public static class ViewExport    { /// <summary>        /// DevExpress通用导出Excel,支持多个控件同时导出在同一个Sheet表        /// eg:ExportToXlsx("",gridControl1,gridControl2);        /// 将gridControl1和gridControl2的数据一同导出到同一张工作表        /// </summary>        /// <param name="title">文件名</param>        /// <param name="panels">控件集</param>        public static void ExportToExcel ( string title ,params IPrintable [ ] panels )        {            SaveFileDialog saveFileDialog = new SaveFileDialog ( );            saveFileDialog . FileName = title;            saveFileDialog . Title = "导出Excel";            saveFileDialog . Filter = "Excel文件(*.xlsx)|*.xlsx|Excel文件(*.xls)|*.xls";            DialogResult dialogResult = saveFileDialog . ShowDialog ( );            if ( dialogResult == DialogResult . Cancel )                return;            string FileName = saveFileDialog . FileName;            PrintingSystem ps = new PrintingSystem ( );            CompositeLink link = new CompositeLink ( ps );            ps . Links . Add ( link );            foreach ( IPrintable panel in panels )            {                link . Links . Add ( CreatePrintableLink ( panel ) );            }            link . Landscape = true;//横向                       //判断是否有标题,有则设置                     //link.CreateDocument(); //建立文档            try            {                int count = 1;                //在重复名称后加(序号)                while ( File . Exists ( FileName ) )                {                    if ( FileName . Contains ( ")." ) )                    {                        int start = FileName . LastIndexOf ( "(" );                        int end = FileName . LastIndexOf ( ")." ) - FileName . LastIndexOf ( "(" ) + 2;                        FileName = FileName . Replace ( FileName . Substring ( start ,end ) ,string . Format ( "({0})." ,count ) );                    }                    else                    {                        FileName = FileName . Replace ( "." ,string . Format ( "({0})." ,count ) );                    }                    count++;                }                if ( FileName . LastIndexOf ( ".xlsx" ) >= FileName . Length - 5 )                {                    XlsxExportOptions options = new XlsxExportOptions ( );                    link . ExportToXlsx ( FileName ,options );                }                else                {                    XlsExportOptions options = new XlsExportOptions ( );                    link . ExportToXls ( FileName ,options );                }                if ( DevExpress . XtraEditors . XtraMessageBox . Show ( "保存成功,是否打开文件?" ,"提示" ,MessageBoxButtons . YesNo ,MessageBoxIcon . Information ) == DialogResult . Yes )                    System . Diagnostics . Process . Start ( FileName );//打开指定路径下的文件            }            catch ( Exception ex )            {                DevExpress . XtraEditors . XtraMessageBox . Show ( ex . Message );            }        }        /// <summary>        /// 创建打印Componet        /// </summary>        /// <param name="printable"></param>        /// <returns></returns>        static PrintableComponentLink CreatePrintableLink ( IPrintable printable )        {            ChartControl chart = printable as ChartControl;            if ( chart != null )                chart . OptionsPrint . SizeMode = DevExpress . XtraCharts . Printing . PrintSizeMode . Stretch;            PrintableComponentLink printableLink = new PrintableComponentLink ( ) { Component = printable };            return printableLink;        }    }
调用方法:

ViewExport . ExportToExcel ( "GridControl内容导出" ,gridControl1 );



阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 穿越到十年后女友变成了富婆 女尊:娇宠小夫郎他日渐撩人 我在诸天有角色 从紫罗兰开始的无限穿越 快穿白月光她拿了反派剧本 影视世界无限穿 穿书八零农妇有点田 阿兹特克的永生者 重生98,崛起从敲微软竹杠开始 国风少女又仙又飒 偏偏沦陷 诸天从盗综开始 联盟:我就是上单天花板 穿越:2014 种植我也能成神 听说我是神探 开端:影视世界学才艺 假面骑士之财团X的崛起 我什么时候成大影后 钢铁火药和施法者 CSGO之电竞经理 在美漫抽取魔兽争霸技能 婚从天降,陆少娇妻A翻全球 从一人开始开发诸天万界 穿越从大唐双龙开始 魔方诸天 诸天之盾者无伤 诡秘:秩序阴影 重生后我躺赢成了首富老婆 洪荒:开局举报了鸿钧 从武动乾坤开始的剑修 玄幻:我能燃烧天命值 我夺舍了始皇 东瀛怪诞创造时 重生后,权臣心尖宠飒翻了 重生之傅嘉归来 精灵之守灵人 救了娇气大佬后我抑郁了 前妻失踪后,沈公子他疯了 我在都市签到的日子 柯南之魔童降世