Copiar Formas entre Hojas de Cálculo

Copiar una Imagen de una Hoja de Cálculo a Otra

Para copiar una imagen de una hoja de cálculo a otra, utiliza el método Worksheet.Pictures.Add como se muestra en el código de ejemplo a continuación.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open the template file
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Get the Picture from the "Picture" worksheet.
Aspose.Cells.Drawing.Picture picturesource = workbook.Worksheets["Picture"].Pictures[0];
// Save Picture to Memory Stream
MemoryStream ms = new MemoryStream(picturesource.Data);
// Copy the picture to the Result Worksheet
workbook.Worksheets["Result"].Pictures.Add(picturesource.UpperLeftRow, picturesource.UpperLeftColumn, ms, picturesource.WidthScale, picturesource.HeightScale);
// Save the Worksheet
workbook.Save(dataDir + "PictureCopied_out.xlsx");

Copiar un gráfico de una hoja de cálculo a otra

El siguiente código demuestra el uso del método Worksheet.Shapes.AddCopy para copiar un gráfico de una hoja de cálculo a otra.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Open the template file
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Get the Chart from the "Chart" worksheet.
Aspose.Cells.Charts.Chart chartsource = workbook.Worksheets["Chart"].Charts[0];
Aspose.Cells.Drawing.ChartShape cshape = chartsource.ChartObject;
// Copy the Chart to the Result Worksheet
workbook.Worksheets["Result"].Shapes.AddCopy(cshape, 20, 0, 2, 0);
// Save the Worksheet
workbook.Save(dataDir + "ChartCopied_out.xlsx");

Copiar controles y otros objetos de dibujo de una hoja de cálculo a otra

Para copiar controles y otros objetos de dibujo, utiliza el método Worksheet.Shapes.AddCopy como se muestra en el ejemplo a continuación.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Open the template file
Workbook workbook = new Workbook(dataDir + "sample2.xlsx");
// Get the Shapes from the "Control" worksheet.
Aspose.Cells.Drawing.ShapeCollection shape = workbook.Worksheets["Control"].Shapes;
// Copy the Textbox to the Result Worksheet
workbook.Worksheets["Result"].Shapes.AddCopy(shape[0], 5, 0, 2, 0);
// Copy the Oval Shape to the Result Worksheet
workbook.Worksheets["Result"].Shapes.AddCopy(shape[1], 10, 0, 2, 0);
// Save the Worksheet
workbook.Save(dataDir + "ControlsCopied_out.xlsx");