资源简介

该资源提供关于DevExpress Winform 的所有可打印控件的导出excel 的通用方法,解决GridControl自带方法不能导出图片,多表头无法导出等问题,解决PivotGridControl导出时候自动分组的问题,真正做到所见所得的导出excel方法,并且支持多个控件一同导出同一个excel,而且支持不同控件显示在不同工作薄

资源截图

代码片段和文件信息

using System;
using System.Windows.Forms;


namespace DevPrintableExport
{
    public class ExportHelper
    {
        /// 

        /// DevExpress控件通用导出Excel支持多个控件同时导出在同一个Sheet表或者分不同工作薄
        /// eg:ExportToXlsx(“test“true“控件“gridControl1gridControl2);
        /// 将gridControl1和gridControl2的数据一同导出到同一个文件不同的工作薄
        /// eg:ExportToXlsx(“test“false““gridControl1gridControl2);
        /// 将gridControl1和gridControl2的数据一同导出到同一个文件同一个的工作薄
        /// tle“>文件名
        /// nk“>多个打印控件是否分多个工作薄显示
        /// 工作薄名称
        /// 控件集 eg:GridControlPivotGridControlTreeListChartControl...
        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.Export

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-15 09:52  DevPrintableExport\
     目录           0  2016-11-21 10:49  DevPrintableExport\.vs\
     目录           0  2016-09-15 08:58  DevPrintableExport\.vs\DevPrintableExport\
     目录           0  2016-09-15 09:44  DevPrintableExport\.vs\DevPrintableExport\v14\
     文件       99328  2016-11-21 14:01  DevPrintableExport\.vs\DevPrintableExport\v14\.suo
     目录           0  2016-11-21 10:49  DevPrintableExport\.vs\Supercharger\
     目录           0  2016-11-21 10:59  DevPrintableExport\.vs\Supercharger\DevPrintableExport\
     文件         308  2016-11-21 12:05  DevPrintableExport\.vs\Supercharger\DevPrintableExport\code_marker.dat
     文件        4556  2016-11-21 12:05  DevPrintableExport\.vs\Supercharger\DevPrintableExport\codemap.dat
     文件        5212  2016-11-21 12:05  DevPrintableExport\.vs\Supercharger\DevPrintableExport\global_history.dat
     文件         312  2016-11-21 12:05  DevPrintableExport\.vs\Supercharger\DevPrintableExport\rich_code_format.dat
     文件         228  2016-11-21 12:05  DevPrintableExport\.vs\Supercharger\DevPrintableExport\workbench.dat
     目录           0  2016-11-21 14:01  DevPrintableExport\DevPrintableExport\
     文件        5927  2016-11-21 12:05  DevPrintableExport\DevPrintableExport\DevPrintableExport.csproj
     文件        5927  2016-11-21 11:21  DevPrintableExport\DevPrintableExport\DevPrintableExport.csproj.bak
     文件        4336  2016-11-21 14:01  DevPrintableExport\DevPrintableExport\ExportHelper.cs
     文件       41917  2016-11-21 12:14  DevPrintableExport\DevPrintableExport\Form1.Designer.cs
     文件        9459  2016-11-21 12:14  DevPrintableExport\DevPrintableExport\Form1.cs
     文件        6224  2016-11-21 12:14  DevPrintableExport\DevPrintableExport\Form1.resx
     文件         748  2016-09-15 08:58  DevPrintableExport\DevPrintableExport\Program.cs
     目录           0  2016-11-21 14:01  DevPrintableExport\DevPrintableExport\Properties\
     文件        1448  2016-09-15 08:58  DevPrintableExport\DevPrintableExport\Properties\AssemblyInfo.cs
     文件        2876  2016-11-21 11:21  DevPrintableExport\DevPrintableExport\Properties\Resources.Designer.cs
     文件        5612  2016-09-15 08:58  DevPrintableExport\DevPrintableExport\Properties\Resources.resx
     文件        1118  2016-11-21 11:21  DevPrintableExport\DevPrintableExport\Properties\Settings.Designer.cs
     文件         249  2016-09-15 08:58  DevPrintableExport\DevPrintableExport\Properties\Settings.settings
     文件        1084  2016-11-21 14:01  DevPrintableExport\DevPrintableExport\Properties\licenses.licx
     文件        1084  2016-11-21 12:05  DevPrintableExport\DevPrintableExport\Properties\licenses.licx.bak
     文件         161  2016-11-21 12:14  DevPrintableExport\DevPrintableExport\app.config
     目录           0  2016-09-15 08:58  DevPrintableExport\DevPrintableExport\bin\
     目录           0  2016-11-21 12:06  DevPrintableExport\DevPrintableExport\bin\Debug\
............此处省略165个文件信息

评论

共有 条评论