Копирование форм между листами

Копирование форм

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

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

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

  1. Создать новую книгу в программе Microsoft Excel.

  2. Добавить изображение на первый лист и диаграмму на второй лист.

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

    Лист “Диаграмма” с диаграммой

todo:image_alt_text

Лист “Изображение” с изображением

todo:image_alt_text

Теперь скопируйте изображение с листа с названием “Изображение” на последний лист “Результат”.

Шаг 2: Загрузка Aspose.Cells.Zip

  1. Скачайте Aspose.Cells for Java.

  2. Распакуйте его на ваш компьютер для разработки.

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

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

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

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

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

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

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

javac -classpath %classpath%;e:\Aspose.Cells.jar; ClassName .javajava -classpath %classpath%;e:\Aspose.Cells.jar; ClassName

Шаг 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:

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

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

todo:image_alt_text

Задача 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

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

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

todo:image_alt_text

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

Лист «Управление» с текстовым полем и овалом

todo:image_alt_text

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

Шаг 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

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

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

todo:image_alt_text

Заключение

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

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

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