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.

from aspose.cells import Workbook
from io import BytesIO
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Open the template file
workbook = Workbook(dataDir + "sample.xlsx")
# Get the Picture from the "Picture" worksheet.
picturesource = workbook.worksheets.get("Picture").pictures[0]
# Save Picture to Memory Stream
ms = BytesIO(picturesource.data)
# Copy the picture to the Result Worksheet
workbook.worksheets.get("Result").pictures.add(picturesource.upper_left_row, picturesource.upper_left_column, ms, picturesource.width_scale, picturesource.height_scale)
# 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.add_copy para copiar un gráfico de una hoja de cálculo a otra.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Open the template file
workbook = Workbook(dataDir + "sample.xlsx")
# Get the Chart from the "Chart" worksheet.
chartsource = workbook.worksheets.get("Chart").charts[0]
cshape = chartsource.chart_object
# Copy the Chart to the Result Worksheet
workbook.worksheets.get("Result").shapes.add_copy(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.add_copy como se muestra en el ejemplo a continuación.

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