Example #1
0
        private static void OnExecuteDirectPrint(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet spreadsheetControl = args.Source as SfSpreadsheet;

            workbook = spreadsheetControl.Workbook.Clone();
            workbook.Worksheets[0].EnableSheetCalculations();
            workbook.Worksheets[0].CalcEngine.AllowShortCircuitIFs  = true;
            workbook.Worksheets[0].CalcEngine.MaximumRecursiveCalls = 10000;
            //Create the pdfviewer for load the document.
            PdfViewerControl pdfviewer = new PdfViewerControl();

            // PdfDocumentViewer
            pdfstream = new MemoryStream();

            //Load the document to pdfviewer
            pdfviewer.Load(pdfstream);

            //Initialize the PdfDocument
            PdfDocument         pdfDoc    = new PdfDocument();
            MemoryStream        pdfStream = new MemoryStream();
            ExcelToPdfConverter converter = new ExcelToPdfConverter(workbook);

            //Save the PDF file
            pdfDoc.Save(pdfStream);

            //Load the document to pdf viewer
            pdfviewer.Load(pdfStream);

            //Print the doc
            pdfviewer.Print(true);
        }
Example #2
0
        private static void ExportToPDF(SfSpreadsheet spreadsheetControl)
        {
            ExcelToPdfConverter converter = new ExcelToPdfConverter(spreadsheetControl.Workbook);
            //Intialize the PdfDocument
            PdfDocument pdfDoc = new PdfDocument();

            //Intialize the ExcelToPdfConverter Settings
            ExcelToPdfConverterSettings settings = new ExcelToPdfConverterSettings();

            settings.LayoutOptions = LayoutOptions.NoScaling;

            //Assign the PdfDocument to the templateDocument property of ExcelToPdfConverterSettings
            settings.TemplateDocument = pdfDoc;
            settings.DisplayGridLines = GridLinesDisplayStyle.Invisible;

            //Convert Excel Document into PDF document
            pdfDoc = converter.Convert(settings);

            //Save the PDF file
            pdfDoc.Save("Sample.pdf");

            System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("Sample.pdf");
            info.UseShellExecute = true;
            System.Diagnostics.Process.Start(info);
            //System.Diagnostics.Process.Start("Sample.pdf");
        }
Example #3
0
        private static void OnExecuteImportFromDataTable(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet Spreadsheet = args.Source as SfSpreadsheet;

            if (Spreadsheet != null && args.Parameter != null)
            {
                Spreadsheet.Create(3);
                string  SelectedItem = args.Parameter.ToString();
                DataSet ds           = new DataSet();
                if (SelectedItem.Contains("Products"))
                {
                    ds = ReadXml(ds, @"Data\Spreadsheet\Products.xml");
                }
                else if (SelectedItem.Contains("Orders"))
                {
                    ds = ReadXml(ds, @"Data\Spreadsheet\Orders.xml");
                }
                else
                {
                    ds = ReadXml(ds, @"Data\Spreadsheet\Customers.xml");
                }

                Spreadsheet.ActiveSheet.ImportDataTable(ds.Tables[0], true, 1, 1);
                for (int i = 1; i <= Spreadsheet.ActiveSheet.UsedRange.LastColumn; i++)
                {
                    Spreadsheet.ActiveSheet.AutofitColumn(i);
                    Spreadsheet.ActiveGrid.SetColumnWidth(i, i, Spreadsheet.ActiveSheet.GetColumnWidthInPixels(i));
                }
                Spreadsheet.ActiveGrid.InvalidateCells();
            }
        }
        private static Control OpenExcel(string path)
        {
            // Pre-load Syncfusion.Tools.Wpf.dll or it will throw error
            var _ = new ToolsWPFAssembly();

            var sheet = new SfSpreadsheet
            {
                AllowCellContextMenu    = false,
                AllowTabItemContextMenu = false,
                Background    = Brushes.Transparent,
                DisplayAlerts = false
            };

            sheet.AddGraphicChartCellRenderer(new GraphicChartCellRenderer());

            sheet.Open(path);

            sheet.WorkbookLoaded += (sender, e) =>
            {
                sheet.SuspendFormulaCalculation();

                sheet.Protect(true, true, "");
                sheet.Workbook.Worksheets.ForEach(s => sheet.ProtectSheet(s, ""));
                sheet.GridCollection.ForEach(kv => kv.Value.ShowHidePopup(false));
            };

            return(sheet);
        }
Example #5
0
 private static void ExportWorkBookToHTML(SfSpreadsheet spreadsheetControl)
 {
     spreadsheetControl.Workbook.SaveAsHtml("Sample.html", HtmlSaveOptions.Default);
     System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("Sample.html");
     info.UseShellExecute = true;
     System.Diagnostics.Process.Start(info);
     //System.Diagnostics.Process.Start("Sample.html");
 }
Example #6
0
        private static void OnExecutePrintPreview(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet      spreadsheetControl = args.Source as SfSpreadsheet;
            PrintPreviewWindow previewwindow      = new PrintPreviewWindow()
            {
                Spreadsheet = spreadsheetControl
            };

            previewwindow.ShowDialog();
        }
        private static void ExportWorksheetToBitmap(SfSpreadsheet spreadsheetControl)
        {
            IWorksheet sheet = spreadsheetControl.Workbook.ActiveSheet;

            sheet.UsedRangeIncludesFormatting = false;
            int lastRow    = sheet.UsedRange.LastRow + 1;
            int lastColumn = sheet.UsedRange.LastColumn + 1;

            System.Drawing.Image img = sheet.ConvertToImage(1, 1, lastRow, lastColumn, ImageType.Bitmap, null);
            img.Save("Sample.png", ImageFormat.Png);
            System.Diagnostics.Process.Start("Sample.png");
        }
        /// <summary>
        /// Highlights the row to show we are working on it
        /// </summary>
        /// <param name="ss"></param>
        /// <param name="rowIndex"></param>
        /// <param name="highlightColor"></param>
        public static void HighlightRow(this SfSpreadsheet ss, int rowIndex, ExcelKnownColors highlightColor)
        {
            var activeRow = ss.ActiveSheet.Rows[rowIndex];

            Application.Current.Dispatcher.Invoke(() =>

            {
                activeRow.CellStyle.ColorIndex = highlightColor;
                foreach (var cell in activeRow.Cells)
                {
                    ss.ActiveGrid.InvalidateCell(cell.Row, cell.Column);
                }
            });
        }
        private static void OnExecuteExportToDataTable(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet Spreadsheet = args.Source as SfSpreadsheet;

            if (Spreadsheet != null)
            {
                IWorksheet   sheet = Spreadsheet.Workbook.Worksheets[0];
                IRange       range = sheet.Range["A1:K50"];
                DataTable    Dt    = sheet.ExportDataTable(range, ExcelExportDataTableOptions.ColumnNames);
                DataGridView dgv   = new DataGridView();
                dgv.DataContext = Dt;
                dgv.ShowDialog();
            }
        }
        /// <summary>
        /// Converts to Cardan XCel format for processing
        /// </summary>
        /// <param name="ss"></param>
        /// <returns></returns>
        public static List <XCelData> ToXCelRows(this SfSpreadsheet ss)
        {
            List <XCelData> rows = new List <XCelData>();

            foreach (var r in ss.ActiveSheet.Rows)
            {
                var row = new XCelData();
                foreach (var c in r.Cells)
                {
                    row.Add(c.Value);
                }
                rows.Add(row);
            }
            return(rows);
        }
        private static void OnExecuteExport(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet spreadsheetControl = args.Source as SfSpreadsheet;

            if (args.Parameter != null)
            {
                string Option = args.Parameter.ToString();
                if (Option == "Export to PDF")
                {
                    ExportToPDF(spreadsheetControl);
                }
                else if (Option == "Export to HTML")
                {
                    ExportWorkBookToHTML(spreadsheetControl);
                }
                else if (Option == "Export to Image")
                {
                    ExportWorksheetToBitmap(spreadsheetControl);
                }
            }
        }
        /// <summary>
        /// Parses the spreadsheet to pull Autodrive jobs
        /// </summary>
        /// <param name="ss"></param>
        /// <returns></returns>
        public static List <ExcelJob> GetExcelJobs(this SfSpreadsheet ss)
        {
            var             rows = ss.ToXCelRows();
            List <ExcelJob> jobs = new List <ExcelJob>();

            foreach (var row in rows.Skip(1).Where(r => r[0] != null && !((string)r[0]).StartsWith("//")).ToList())
            {
                var state  = new MachineState();
                var index  = rows.IndexOf(row);
                var header = rows[0];
                state.Accessory     = XCelRowParser.GetAccessory(header, row);
                state.CollimatorRot = XCelRowParser.GetCollimatorRot(header, row);
                state.CouchLat      = XCelRowParser.GetCouchLat(header, row);
                state.CouchVert     = XCelRowParser.GetCouchVert(header, row);
                state.CouchLng      = XCelRowParser.GetCouchLng(header, row);
                state.CouchRot      = XCelRowParser.GetCouchRot(header, row);
                state.DoseRate      = XCelRowParser.GetDoseRate(header, row);
                state.Energy        = XCelRowParser.GetEnergy(header, row);
                state.GantryRot     = XCelRowParser.GetGantryRot(header, row);
                state.MU            = XCelRowParser.GetMU(header, row);
                state.Time          = XCelRowParser.GetTime(header, row);
                state.X1            = XCelRowParser.GetX1(header, row);
                state.X2            = XCelRowParser.GetX2(header, row);
                state.Y1            = XCelRowParser.GetY1(header, row);
                state.Y2            = XCelRowParser.GetY2(header, row);
                var excelJob = new ExcelJob(state, index);
                excelJob.Bias         = XCelRowParser.GetBias(header, row);
                excelJob.Notification = XCelRowParser.GetNotification(header, row);
                foreach (var measurement in XCelRowParser.ReadMeasurements(header, row))
                {
                    excelJob.AddMeasurement(measurement);
                }
                excelJob.DepthOfMeasurentMM          = XCelRowParser.GetMeasurementDepth(header, row);
                excelJob.NumberOfMeasurementsDesired = XCelRowParser.GetNMeasurements(header, row);
                jobs.Add(excelJob);
            }
            return(jobs);
        }
Example #13
0
        private static void OnExecuteDirectPrint(object sender, ExecutedRoutedEventArgs args)
        {
            SfSpreadsheet spreadsheetControl = args.Source as SfSpreadsheet;

            workbook = spreadsheetControl.Workbook.Clone();
            //Create the pdfviewer for load the document.
            PdfViewerControl pdfviewer = new PdfViewerControl();

            // PdfDocumentViewer
            pdfstream = new MemoryStream();
            var maxSize = 10000000;

            var thread = new Thread(PrintFromPdfViewer, maxSize);

            thread.Start();
            thread.Join();

            //Load the document to pdfviewer
            pdfviewer.ReferencePath = @"..\..\..\..\..\..\..\Common\Data\PDF\";
            pdfviewer.Load(pdfstream);

            //Show the print dialog.
            pdfviewer.Print(true);
        }
Example #14
0
 public SpreadsheetColumnExt(SpreadsheetGrid grid, SfSpreadsheet spreadsheet) : base(grid)
 {
     this.grid        = grid;
     this.spreadsheet = spreadsheet;
 }
 private static void ExportWorkBookToHTML(SfSpreadsheet spreadsheetControl)
 {
     spreadsheetControl.Workbook.SaveAsHtml("Sample.html", HtmlSaveOptions.Default);
     System.Diagnostics.Process.Start("Sample.html");
 }
Example #16
0
 protected override void OnAttached()
 {
     spreadsheet = AssociatedObject.DataContext as SfSpreadsheet;
     this.AssociatedObject.PreviewMouseDown += AssociatedObject_PreviewMouseDown;
     base.OnAttached();
 }
Example #17
0
 protected override void OnDetaching()
 {
     this.AssociatedObject.PreviewMouseDown -= AssociatedObject_PreviewMouseDown;
     spreadsheet = null;
     base.OnDetaching();
 }
Example #18
0
        private void SetCommands()
        {
            RelaySpreadsheetControlCommand = new DelegateCommand <SfSpreadsheet>((sp) =>
            {
                this.spreadsheet = sp;
            });

            RefreshCommCommand = new DelegateCommand(() =>
            {
                SetDefaultComPorts();
            });

            StopCommand = new DelegateCommand(() =>
            {
                ServiceModeSession.Instance.Keyboard.IsEnabled = false; // Turn off keyboard immediately
                IsStopRequested = true;
                cTokenSource.Cancel();
                this.logger.Log($"Stopping measurement...");
            });

            ToggleDefaultInterlocksCommand = new DelegateCommand(() =>
            {
                if (linac != null)
                {
                    linac.OverrideDefaultInterlocks();
                }
                else
                {
                    MessageBox.Show("Connect to linac Autodrive first!");
                }
            });

            ConnectADCommand = new DelegateCommand(() =>
            {
                this.linac        = new CSeriesLinac();
                this.linac.Logger = logger;
                try
                {
                    linac.Initialize(ADComPort); ADConnected = "(Connected)";
                }
                catch (Exception e)
                {
                    ADConnected = "(Error)";
                }
            });

            ConnectELCommand = new DelegateCommand(() =>
            {
                this.el   = new Max4000();
                el.Logger = logger;
                try
                {
                    el.Initialize(ELComPort);
                    if (!el.Verify())
                    {
                        MessageBox.Show("Couldn't find Max 4000!");
                    }
                    else
                    {
                        ELConnected = "(Connected)";
                    }
                }
                catch (Exception e) { ELConnected = "(Error)"; }
            });

            Connect1DCommand = new DelegateCommand(() =>
            {
                this.scan1D   = new DoseView1D();
                scan1D.Logger = logger;
                try
                {
                    scan1D.Initialize(DVComPort);
                    var version = scan1D.GetVersion();
                    if (string.IsNullOrEmpty(version))
                    {
                        MessageBox.Show("Couldn't find DoseView 1D!");
                    }
                    else
                    {
                        DVConnected = "(Connected)";
                        logger.Log($"Found DoseView 1D version {version}");
                        ChamberDepth = scan1D.GetCurrentDepthMM();
                    }
                }
                catch (Exception e) { DVConnected = "(Error)"; }
            });

            MoveChamberCommand = new DelegateCommand(async() =>
            {
                if (!double.IsNaN(ChamberDepth))
                {
                    await MoveChamber(ChamberDepth);
                }
            });
        }