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); }
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"); }
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); }
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"); }
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); }
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); }
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"); }
protected override void OnAttached() { spreadsheet = AssociatedObject.DataContext as SfSpreadsheet; this.AssociatedObject.PreviewMouseDown += AssociatedObject_PreviewMouseDown; base.OnAttached(); }
protected override void OnDetaching() { this.AssociatedObject.PreviewMouseDown -= AssociatedObject_PreviewMouseDown; spreadsheet = null; base.OnDetaching(); }
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); } }); }