Копировать фигуры между рабочими листами
Иногда вам нужно копировать элементы на рабочем листе, например изображения, диаграммы и другие объекты рисования, между рабочими листами. Aspose.Cells поддерживает эту функцию. Диаграммы, изображения и другие объекты можно копировать с высочайшей степенью точности.
Эта статья дает вам подробное представление о том, как копировать фигуры между листами.
Копирование изображения с одного рабочего листа на другой
Чтобы скопировать изображение с одного рабочего листа на другой, используйте кнопкуЛист.Изображения.Добавить метод, как показано в примере кода ниже.
// 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"); |
Скопируйте диаграмму с одного рабочего листа на другой
Следующий код демонстрирует использованиеРабочий лист.Shapes.AddCopy способ копирования диаграммы с одного рабочего листа на другой.
// 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"); |
Копирование элементов управления и других объектов рисования с одного рабочего листа на другой
Чтобы скопировать элементы управления и другие объекты рисования, используйте кнопкуРабочий лист.Shapes.AddCopyметод, как показано в примере ниже.
// 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"); |