dev多控件导出到Excel多个sheet页
来源:互联网 发布:无线访客网络设置 编辑:程序博客网 时间:2024/05/16 17:46
多个GridControl导出到一个Excel的一个或多个sheet页
多个DEV控件导出到一个Excel的一个或者多个sheet页
/// <summary> /// DevExpress控件通用导出Excel,支持多个控件同时导出在同一个Sheet表或者分不同工作薄 /// eg:ExportToXlsx("test",true,"控件",gridControl1,gridControl2); /// 将gridControl1和gridControl2的数据一同导出到同一个文件不同的工作薄 /// eg:ExportToXlsx("test",false,"",gridControl1,gridControl2); /// 将gridControl1和gridControl2的数据一同导出到同一个文件同一个的工作薄 /// <param name="title">文件名</param> /// <param name="isPageForEachLink">多个打印控件是否分多个工作薄显示</param> /// <param name="sheetName">工作薄名称</param> /// <param name="printables">控件集 eg:GridControl,PivotGridControl,TreeList,ChartControl...</param> public static void ExportToExcel(string title, bool isPageForEachLink, string sheetName, params DevExpress.XtraPrinting.IPrintable[] printables) { SaveFileDialog saveFileDialog = new SaveFileDialog() { FileName = title, Title = "导出Excel", Filter = "Excel文件(*.xlsx)|*.xlsx|Excel文件(*.xls)|*.xls" }; DialogResult dialogResult = saveFileDialog.ShowDialog(); if (dialogResult == DialogResult.Cancel) return; string FileName = saveFileDialog.FileName; DevExpress.XtraPrintingLinks.CompositeLink link = new DevExpress.XtraPrintingLinks.CompositeLink(new DevExpress.XtraPrinting.PrintingSystem()); foreach (var item in printables) { var plink = new DevExpress.XtraPrinting.PrintableComponentLink() { Component = item }; link.Links.Add(plink); } if (isPageForEachLink)//15.1 的Xls不支持这个功能,15.2未知 link.CreatePageForEachLink(); if (string.IsNullOrEmpty(sheetName)) sheetName = "Sheet";//默认工作薄名称 try { int count = 1; //在重复名称后加(序号) while (System.IO.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) { DevExpress.XtraPrinting.XlsxExportOptions options = new DevExpress.XtraPrinting.XlsxExportOptions() { SheetName = sheetName }; if (isPageForEachLink) options.ExportMode = DevExpress.XtraPrinting.XlsxExportMode.SingleFilePageByPage; link.ExportToXlsx(FileName, options); } else { DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions() { SheetName = sheetName }; if (isPageForEachLink) //15.Xls没有这个属性,15.2未知 options.ExportMode = DevExpress.XtraPrinting.XlsExportMode.SingleFilePageByPage; 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); } }
1 0
- dev多控件导出到Excel多个sheet页
- DEV中多个xtrareport导出excel,多个sheet页导出
- 导出数据到excel多个sheet
- 导出DataSet数据到excel的多个sheet
- POI导出数据到Excel的多个Sheet
- Java将多个数据表导出多个Sheet到Excel文件
- 导出数据到Excel 2007 多个Sheet页(NPOI)(web版)
- devexpress导出数据到excel,数据源为多个xtrareport时,多个sheet导出
- DevExpress通用导出Excel,支持多个控件同时导出在同一个Sheet表
- 多张报表导出到一个多sheet页excel
- DEV控件之GridControl导出到Excel
- ASP.NET将数据导出到一个EXCEL文件的多个SHEET中
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 使用jxl导出excel时怎么创建多个sheet
- C#读取和导出EXCEL类库(可操作多个SHEET)
- asp.net导出Excel生成多个Sheet
- 【AJAX】XMLHttpRequest
- 推荐系统 用户画像 标签聚类 个性化搜索
- 数据库之视图操作
- 1619-7 张良 十二月十八号总结 [连续第七十九天]
- 《React-Native系列》图解RN布局之FlexBox
- dev多控件导出到Excel多个sheet页
- Leetcode Total Hamming Distance 477
- css水平居中的方法
- 动态加载fragment配合TabLayout
- 设计模式之适配器模式
- Linux下tar用法
- HDOJ.2955 Robberies (01背包+概率问题)
- Tv Develop of Android TIF Study
- Linux下安装Nginx