在基类窗体扩展一个通用导出Excel文件的按钮(支持导出所有表格的数据到Xlsx文件)
在基类窗体扩展一个通用导出Excel文件的按钮(支持导出所有表格的数据到Xlsx文件)
在基类窗体扩展一个通用导出Excel文件的按钮,支持导出当前窗体所有表格的数据到Xlsx文件。 在【数据查询】页面,默认导出主表的数据,在【数据编辑】页面,导出所有明细的表格的数据。 效果: 解决方案: 1. 重写InitButtons方法 C# Code: /// <summary> /// 初始化数据窗体的按钮 /// </summary> public override void InitButtons() { base.InitButtons(); //扩展一个按钮 if (this.ButtonAuthorized(ButtonAuthority.EXPORT)) this.Buttons.AddButton(this.ToolbarRegister.CreateButton("btnExportXls", LanLib.Get("导出Excel"), ToolBarGroup.数据操作, Globals.LoadBitmap("export.ico"), new Size(57, 28), false, true, this.DoExportXls)); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 2. 按钮事件 C# Code: /// <summary> /// 导出Excel通用按钮事件 /// </summary> /// <param name="sender"></param> public virtual void DoExportXls(IButtonInfo sender) { if (tcBusiness.SelectedTabPage == tpSummary && _SummaryView != null) { if (_SummaryView.View is GridView) { //导出主表 DoExportXlsx(_SummaryView.View as GridView); } } else { DoExportDetailXlsx();//导出所有明细 } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 3. 导出明细页面的数据(模板方法) C# Code: /// <summary> /// 导出明细表的Excel /// </summary> public virtual void DoExportDetailXlsx() { throw new NotImplementedException(LanLib.Get("导出明细表的Excel未实现!")); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 注意:有明细表的界面,必须重写DoExportDetailXlsx方法! 4. 导出表格数据到Excel的通用方法,支持导出多个表格。 C# Code: /// <summary> /// 导出表格的Excel通用方法 /// </summary> /// <param name="views"></param> protected void DoExportXlsx(params GridView[] views) { try { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Microsoft Excel Files|*.xlsx"; if (dlg.ShowDialog() == DialogResult.OK) { foreach (var view in views) { if (views.Length > 0) view.ExportToXlsx(dlg.FileName.Substring(0, dlg.FileName.Length - 5) + "_" + view.Name + ".xlsx"); else view.ExportToXlsx(dlg.FileName); } Msg.ShowInformation(LanLib.Get("导出文件成功!")); } } catch { Msg.ShowInformation(LanLib.Get("导出文件失败成功!")); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加作者微信
参考文档:
框架提供通用数据导出功能,将表格数据导出到EXCEL文件 数据字典窗体预设提供导出资料的,但是没显示按钮 通用文本提示对话框窗体支持保存文本文件|C/S框架网 Winform框架通用导入Excel文件源码下载 解决方案:FastReport.NET导出Excel文件单元格的数据空白 C# OleDbConnection读取加装Excel2003(.xls),Excel2007(.xlsx)文件 C#异步操作等待窗体,异步多线程处理数据通用界面(frmThreadOperating) C#多线程异步处理数据通用界面窗体(frmThreadOperating) C/S开发框架支持加载数据库的FastReport.NET报表模板文件 - 功能升级 CSFramework旗舰版多语言支持两种存储策略:XML文件及SQL数据库 C/S系统快速开发框架数据操作窗体(单表、主从表窗体)按钮事件 C# Excel xls文件导入程序Excel数据库通用类XlsFileDB CSFramework通用自动提交数据工具类(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库 CSFramework开发框架支持表格编辑窗体,批量修改表格的数据 窗体的自定义按钮权限控制-扩展权限按钮详解
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |