/// <summary> /// 导出多个控件数据到excel中 /// </summary> /// <param name="FileName">文件名</param> /// <param name="tables">控件列表</param> /// <returns></returns> public static string ControlExportToXlsxNoOpen(string FileName, params IPrintable[] tables) { string path = ""; try { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Excel文件|*.xlsx;"; sfd.FileName = FileName; sfd.Title = "导出" + FileName; if (sfd.ShowDialog() == DialogResult.OK) { DevExpress.XtraPrinting.XlsxExportOptions options = new DevExpress.XtraPrinting.XlsxExportOptions(); options.SheetName = FileName; options.ExportMode = XlsxExportMode.SingleFilePageByPage; path = sfd.FileName; var defautps = new DevExpress.XtraPrinting.PrintingSystem(); PrintableComponentLink pclink = null; CompositeLink compLink = new CompositeLink(defautps); foreach (var tbl in tables) { pclink = new PrintableComponentLink(); pclink.Component = tbl; compLink.Links.Add(pclink); } #region 分Sheet // 用于每个Link生成一个Sheet,不使用此方法,则合并在一个Sheet内 compLink.CreatePageForEachLink(); compLink.ExportToXlsx(path, options); #endregion 分Sheet } } catch (Exception ex) { LogUtils.Error(ex.Message); Error(ex.Message); } return path; }