Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Description

Excerpt

Copies an area of cells

to

from a Worksheet

from a worksheet

in either the same workbook or another workbook

altogether

.

The source and destination worksheet can also be the same worksheet.


You may specify the types of data copied (cell value, formulas, comments, formatting, etc.) using the CopyPasteProperties object.
The CopyPaste method supports copying column width, comments, formulas, merged cells, row height, values, and cell and number formatting.

Excerpt

The CopyPaste method does not currently support copying anything not listed above, including charts, images, or autofilters.

Signature
C#
C#
 public Area CopyPaste(int firstRow, int firstCol, Area sourceArea, CopyPasteProperties properties)

...

Example
Code Block
csharp
csharp
titleC#

            //--- Open the workbook and worksheet from which we will copy cells.
            ExcelApplication xla = new ExcelApplication();
            Workbook sourceWb = xla.Open(Page.MapPath("myfile.xlsx"));
            Worksheet sourceWs = sourceWb[0];

            //--- Create the destination workbook and and get the worksheet
            //--- into which we will paste cells.
            Workbook destWb = xla.Create(ExcelApplication.FileFormat.Xlsx);
            Worksheet destWs = destWb[0];

            //--- Define the area of cells to copy.
            Area srcArea = sourceWs.CreateArea("A1:F20");

            //--- CopyCreate cellthe values,CopyPasteProperties formulasobject and celldefine andwhich number formattingsettings will be copied.
            CopyPasteProperties copyPasteProps =
                 sourceWb.CreateCopyPasteProperties(
                 CopyPasteProperties.CopyPasteType.ValuesAndFormatting);

            //--- Paste the data onto the destination worksheet.
              destWs.CopyPaste(0, 0, srcArea, copyPasteProps);

           
xla.Save(destWb, Page.Response, "copypasteoutput.xlsx", false);
        
Code Block
vb.net
vb.net
titlevb.net

          '--- Open the workbook and worksheet from which we will copy cells.
          Dim sourceWb As Workbook = xla.Open("MyDataSource.xls")
          Dim sourceWs As Worksheet = sourceWb(0)

          '--- Create the workbook and and get the worksheet
          '--- into which we will paste cells.
          Dim destWb As Workbook = xla.Create("MyNewWorkbook")
          Dim destWs As Worksheet = destWb(0)

          '--- Define the area of cells to copy.
          Dim srcArea As Area = sourceWs.CreateArea("A1:F20")

          '--- Copy cell values, formulas and cell and number formatting.
          Dim copyPasteProps As CopyPasteProperties = _
               sourceWb.CreateCopyPasteProperties( _
               CopyPasteProperties.CopyPasteType.ValueFormulasAndFormatting)

          '--- Paste the data onto the destination worksheet.
          destWs.CopyPaste(0, 0, srcArea, copyPasteProps)