Spread Windows Forms 16
Spread Windows Forms 16.0 Product Documentation / Developer's Guide / Sheets / Copying and Inserting a Sheet
In This Topic
    Copying and Inserting a Sheet
    In This Topic

    You can copy and insert a sheet to the same Spread component or another Spread component on the form. Spread does not provide a way to copy the sheet, but with the code given below you can easily create your own CopySheet method.

    Example

    This is the code for the CopySheet method.

    C#
    Copy Code
    public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet)
    {
        FarPoint.Win.Spread.SheetView newSheet = null;
        if (sheet != null )
        {
            newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet");
        }
        return newSheet;
    }
    
    Visual Basic
    Copy Code
    Public Function CopySheet(sheet As FarPoint.Win.Spread.SheetView) As FarPoint.Win.Spread.SheetView
        Dim newSheet as FarPoint.Win.Spread.SheetView = Nothing
        If Not IsNothing(sheet) Then
            newSheet = FarPoint.Win.Serializer.LoadObjectXml(GetType(FarPoint.Win.Spread.SheetView), FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet")
        End If
        Return newSheet
    End Function
    
    • The CopySheet method also copies all shapes on that sheet.
    • Copying a sheet using the CopySheet method also copies the NamedStyleCollection in the sheet, and creates separate copies of any NamedStyle objects in the collection that are private to the copy and not shared with the original NamedStyleCollection in the copied sheet.
    • If you want to share the named styles instead of creating separate copies, you can assign the NamedStyleCollection you want to share to the NamedStyles property of the copy. You might also want to temporarily remove the NamedStyleCollection from the sheet being copied, so that it is not copied unnecessarily. This can be done by assigning the NamedStyleCollection to a variable, then setting the NamedStyles property to Nothing (null in C#), then making the copy, then assigning the variable back to the NamedStyles property.
    • The SpreadActions class has options for the clipboard copy, cut, and paste of a sheet.You can assign copy, cut, and paste operations to any key input.For more information, kindly refer to "Managing Keyboard Interaction".

    To insert a copied sheet into the control, use the Add or Insert method of the SheetViewCollection class referenced by the Sheets property of the FpSpread class after calling the CopySheet method.

    Using Spread Designer

    The Spread Designer can be used to copy and paste a sheet at design time. Right-click on the sheet tab icon in the designer to bring up the Copy, Cut, and Paste context menu.

    See Also