Esempio n. 1
0
        private void ExportToStreamAsync(
            PropertyGridSpreadExportDataSnapshot propertyGridData,
            Stream stream)
        {
            int percentProgress = 0;
            int num1            = 0;

            this.spreadExportRenderer.AddWorksheet(this.SheetName);
            for (int index = 0; index < propertyGridData.ExportRows.Count; ++index)
            {
                if (num1 > this.sheetMaxRowsNumber)
                {
                    this.spreadExportRenderer.AddWorksheet(this.SheetName);
                    num1 = 0;
                    this.columnWidths.Clear();
                }
                this.AddRow(propertyGridData.ExportRows[index], num1);
                int num2 = index * 100 / propertyGridData.ExportRows.Count;
                if (percentProgress != num2)
                {
                    percentProgress = num2;
                    this.GetWorker().ReportProgress(percentProgress);
                }
                ++num1;
            }
            if (this.ExportChildItemsGrouped)
            {
                this.GroupWorksheetRows(num1);
            }
            this.spreadExportRenderer.CallWorkbookCreated();
            this.spreadExportRenderer.Export(stream);
        }
Esempio n. 2
0
        private void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            this.spreadExportRenderer.RegisterFormatProvider(this.ExportFormat);
            this.spreadExportRenderer.GetFormatProvider(this.ExportFormat);
            this.columnWidths = new List <int>();
            PropertyGridSpreadExportDataSnapshot propertyGridData1 = e.Argument as PropertyGridSpreadExportDataSnapshot;

            if (propertyGridData1 != null)
            {
                string     path = Path.GetDirectoryName(propertyGridData1.FilePath) + (object)Path.DirectorySeparatorChar + Path.GetFileNameWithoutExtension(propertyGridData1.FilePath) + this.spreadExportRenderer.GetFileExtension(this.ExportFormat);
                FileStream fileStream;
                if (this.FileExportMode == FileExportMode.NewSheetInExistingFile && File.Exists(path) && this.ExportFormat == SpreadExportFormat.Xlsx)
                {
                    fileStream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite, 32768, false);
                    this.spreadExportRenderer.ImportWorkbook((Stream)fileStream);
                }
                else
                {
                    fileStream = new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite, 32768, false);
                    this.spreadExportRenderer.CreateWorkbook();
                }
                using (fileStream)
                    this.ExportToStreamAsync(propertyGridData1, (Stream)fileStream);
                this.GetWorker().ReportProgress(100);
                ControlTraceMonitor.TrackAtomicFeature((RadControl)this.propertyGrid, "Export", (object)path);
            }
            else
            {
                this.spreadExportRenderer.CreateWorkbook();
                List <object> objectList = e.Argument as List <object>;
                PropertyGridSpreadExportDataSnapshot propertyGridData2 = objectList[0] as PropertyGridSpreadExportDataSnapshot;
                Stream stream = objectList[1] as Stream;
                this.ExportToStreamAsync(propertyGridData2, stream);
                this.GetWorker().ReportProgress(100);
                e.Result = (object)stream;
                ControlTraceMonitor.TrackAtomicFeature((RadControl)this.propertyGrid, "Export");
            }
        }