Копировать фигуры между рабочими листами

Копирование фигур

В этой статье объясняется, как:

Копирование изображения с одного рабочего листа на другой

Шаг 1. Создание книги с изображением и диаграммой в Microsoft Excel

  1. Создал новую книгу в Microsoft Excel.
  2. Добавьте изображение на первый рабочий лист и диаграмму на второй рабочий лист.

На следующих снимках экрана показаны два листа шаблонов, созданные в Microsoft Excel.

Рабочий лист «Диаграмма» с диаграммой

дело:изображение_альтернативный_текст

Рабочий лист «Картинка» с картинкой

дело:изображение_альтернативный_текст

Теперь скопируйте изображение с рабочего листа с именем «Изображение» на последний рабочий лист «Результат».

Шаг 2: Загрузите Aspose.Cells.Zip

  1. Скачать Aspose.Cells for Java.
  2. Разархивируйте его на своем компьютере для разработки.

ВсеAspose компоненты при установке работают в ознакомительном режиме. Режим оценки не имеет ограничения по времени и только вставляет водяные знаки в создаваемые документы.

Шаг 3: Создайте проект

Вы можете либо создать проект с помощью какого-нибудь редактора Java, например, Eclipse, либо создать простую программу с помощью Блокнота.

Шаг 4: Добавьте путь к классу

Чтобы установить путь к классу с помощью Eclipse, выполните следующие действия:

  1. Извлеките файлы Aspose.Cells.jar и dom4j_1.6.1.jar из Aspose.Cells.zip.
  2. Установите путь к классам проекта в Eclipse:
  3. Выберите свой проект в Eclipse, а затем щелкните меню Project-Properties.
  4. Выберите «Java Путь сборки» в левой части всплывающего окна, затем выберите вкладку «Библиотеки», нажмите «Добавить JAR» или «Добавить внешние JAR», чтобы выбрать Aspose.Cells.jar и dom4j_1.6.1.jar и добавить их в сборку. пути.
  5. Напишите приложение для вызова API компонентов Aspose.

Или вы можете установить его во время выполнения в командной строке DOS в Windows. Например:

javac - путь к классам% путь к классам%; e:\Aspose.Cells.jar; ClassName .javajava -classpath %classpath%;e:\Aspose.Cells.jar; имя класса

Шаг 5: Копирование изображения с одного рабочего листа на другой

Ниже приведен код для выполнения задачи. Он копирует изображение с рабочего листа с именем «Изображение» на рабочий лист «Результат».

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyPicturefromOneWorksheetToAnother.class);
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Shapes.xls");
WorksheetCollection ws = workbook.getWorksheets();
Worksheet sheet1 = ws.get("Picture");
Worksheet sheet2 = ws.get("Result");
// get the Picture from first worksheet
Picture pic = sheet1.getPictures().get(0);
ByteArrayInputStream bis = new ByteArrayInputStream(pic.getData());
// Copy the Picture to Second Worksheet
sheet2.getPictures().add(pic.getUpperLeftRow(), pic.getUpperLeftColumn(), pic.getWidthScale(),
pic.getHeightScale(), bis);
// Save the workbook
workbook.save(dataDir + "Shapes.xls");

Результат Задача 1:

После выполнения вышеуказанного кода изображение из рабочего листа «Изображение» теперь копируется на последний рабочий лист «Результат».

Рабочий лист «Результат» со скопированной картинкой

дело:изображение_альтернативный_текст

Задача 2. Копирование диаграммы с одного рабочего листа на другой

Шаг 1. Скопируйте диаграмму с одного рабочего листа на другой.

Ниже приведен фактический код, используемый компонентом для выполнения задачи.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyChartFromOneWorksheetToAnother.class);
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Shapes.xls");
WorksheetCollection ws = workbook.getWorksheets();
Worksheet sheet1 = ws.get("Chart");
Worksheet sheet2 = ws.get("Result");
// get the Chart from first worksheet
Chart chart = sheet1.getCharts().get(0);
ChartShape cshape = chart.getChartObject();
// Copy the Chart to Second Worksheet
sheet2.getShapes().addCopy(cshape, 20, 0, 2, 0);
// Save the workbook
workbook.save(dataDir + "Shapes.xls");

Результат Задание 2

После выполнения вышеуказанного кода диаграмма из рабочего листа «Диаграмма» копируется в рабочий лист «Результат». См. следующий снимок результирующего рабочего листа.

Рабочий лист «Результат» со скопированной картинкой и диаграммой

дело:изображение_альтернативный_текст

Задача 3. Копирование элементов управления и других объектов чертежа с одного рабочего листа на другой

Рабочий лист «Контроль» с текстовым полем и овалом

дело:изображение_альтернативный_текст

Пожалуйста, ознакомьтесь со следующими простыми шагами, которые необходимо выполнить, чтобы получить желаемые результаты.

Шаг 1. Копирование рабочего листа между рабочими книгами

Ниже приведен код, используемый компонентом для выполнения задачи.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(CopyWorksheetBetweenWorkbooks.class);
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Controls.xls");
WorksheetCollection ws = workbook.getWorksheets();
Worksheet sheet1 = ws.get("Control");
Worksheet sheet2 = ws.get("Result");
// Get the Shapes from the "Control" worksheet.
ShapeCollection shapes = sheet1.getShapes();
// Copy the Textbox to Second Worksheet
sheet2.getShapes().addCopy(shapes.get(0), 5, 0, 2, 0);
// Copy the oval shape to Second Worksheet
sheet2.getShapes().addCopy(shapes.get(1), 10, 0, 2, 0);
// Save the workbook
workbook.save(dataDir + "Controls.xls");

Результат Задание 3

После выполнения приведенного выше кода элементы управления с рабочего листа «Управление» теперь копируются на рабочий лист «Результат». См. следующий снимок «Результата».

Рабочий лист «Результат» со скопированным текстовым полем и овалом

дело:изображение_альтернативный_текст

Заключение

В этой статье показано, как копировать различные фигуры, такие как изображения, диаграммы и другие объекты рисования, между использованием Aspose.Cells. Надеюсь, это даст вам некоторое представление, и вы сможете использовать эти параметры в соответствии с вашими различными сценариями.

Aspose.Cells может предложить большую гибкость, чем другие, для решений и обеспечивает выдающуюся скорость, эффективность и надежность для удовлетворения конкретных требований бизнес-приложений. Результаты показывают, что Aspose.Cells извлек выгоду из многолетних исследований, дизайна и тщательной настройки.

Мы сердечно приветствуем ваши вопросы, комментарии и предложения вAspose.Cells Форум.