)
We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to copy a cell value instead of formula in WinForms Spreadsheet (SfSpreadsheet)?

Platform: WinForms |
Control: Spreadsheet |
Published Date: August 31, 2016 |
Last Revised Date: January 27, 2020
Tags: copypaste

Copy a cell value instead of formula cell

Spreadsheet provides support to copy the values in a formula cell instead of formula by overriding the Copy method of SpreadsheetCopyPaste Class.

In the sample, create a CustomCopyPaste class inherited from SpreadsheetCopyPaste class and override the Copy method like below code example.

C#

public class CustomCopyPaste : SpreadsheetCopyPaste
{
  public Spreadsheet spreadSheet
  {
    get;
    set;
  }
  public CustomCopyPaste(Spreadsheet spread)
            : base()
  {
     spreadSheet = spread;
  }
  public override void Copy()
  {
    var copyRange = spreadSheet.ActiveGrid.SelectedRanges.ActiveRange;
    var excelSourceRange = copyRange.ConvertGridRangeToExcelRange(spreadSheet.ActiveGrid);
    SourceWorkbookRange = spreadSheet.ActiveGrid.Worksheet.Range[excelSourceRange];
    CopyClipboard(copyRange);
    SourceGrid = spreadSheet.ActiveGrid;
  }
 
   public void CopyClipboard(GridRangeInfo copyRange)
   {
      var sb = new StringBuilder();
      for (int i = copyRange.Top; i <= copyRange.Bottom; i++)
      {
          for (int j = copyRange.Left; j <= copyRange.Right; j++)
          {
              sb.Append(SourceWorkbookRange[i, j].DisplayText);
              if (j != copyRange.Right)
                 sb.Append("\t");
          }
          if (i != copyRange.Bottom)
            sb.Append("\r\n");
      }
       var data = new DataObject();
       if (sb.Length == 0)
       {
          sb.Append(" ");
       }
       data.SetText(sb.ToString());
       Clipboard.SetDataObject(data);
       sb.Clear();
   }
}

In the above code example, the copied range’s DisplayText is copied to the Clipboard instead of Value.

Sample: WF 

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon