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

Копирование и перемещение листов

В этой статье объясняется, как использовать Aspose.Cells для:

Копирование листа внутри книги

Начальные шаги одинаковы для всех примеров.

  1. Создайте две книги с некоторыми данными в Microsoft Excel. Для целей этого примера мы создали две новые книги в Microsoft Excel и ввели некоторые данные на листах.
  • FirstWorkbook.xls (3 листа)

  • SecondWorkbook.xls (1 лист).

    FirstWorkbook.xls

todo:image_alt_text

SecondWorkbook.xls

todo:image_alt_text

  1. Скачайте и установите Aspose.Cells:
    1. Скачайте Aspose.Cells for Java.
    2. Распакуйте его на ваш компьютер для разработки. Все Aspose компоненты при установке работают в режиме оценки. Режим оценки не имеет временных ограничений и вставляет только водяные знаки в созданные документы.
  2. Создайте проект:
    1. Создайте проект в редакторе Java, таком как Eclipse, или создайте простую программу, используя текстовый редактор.
  3. Добавьте путь к классу:
    1. Извлеките Aspose.Cells.jar и dom4j_1.6.1.jar из Aspose.Cells.zip.
    2. Установите classpath проекта в Eclipse:
      1. Выберите свой проект в Eclipse и щелкните меню Проект, затем Свойства.
      2. Выберите Путь Java Build слева в диалоговом окне, затем выберите вкладку Библиотеки,
      3. Нажмите Добавить JARы или Добавить внешние JAR-файлы, чтобы выбрать Aspose.Cells.jar и dom4j_1.6.1.jar и добавить их в пути сборки.
  1. Скопируйте лист внутри книги: Приведен ниже код, использованный для выполнения задачи. Он копирует лист Copy внутри FirstWorkbook.xls.

Запуск кода перемещает рабочий лист с именем Copy внутри FirstWorkbook.xls с новым именем Last Sheet.

Файл вывода

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(CopyWithinWorkbook.class);
// Create a new Workbook by excel file path
Workbook wb = new Workbook(dataDir + "book1.xls");
// Create a Worksheets object with reference to the sheets of the Workbook.
WorksheetCollection sheets = wb.getWorksheets();
// Copy data to a new sheet from an existing sheet within the Workbook.
sheets.addCopy("Sheet1");
// Save the excel file.
wb.save(dataDir + "mybook.xls");

Перемещение листа в книге Excel

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

Запуск кода перемещает лист Move с индексом 1 на индекс 2 в FirstWorkbook.xls.

Файл вывода

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(MoveWorksheet.class);
// Create a new Workbook.
Workbook wb = new Workbook(dataDir + "BkFinance.xls");
// Get the first worksheet in the book.
Worksheet sheet = wb.getWorksheets().get(0);
// Move the first sheet to the third position in the workbook.
sheet.moveTo(2);
// Save the Excel file.
wb.save(dataDir + "BkFinance.xls");

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

Запуск кода копирует лист Copy в SecondWorkbook.xls с новым именем Sheet2.

Файл вывода

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(CopyWorksheetsBetweenWorkbooks.class);
// Create a Workbook.
Workbook excelWorkbook0 = new Workbook(dataDir + "book1.xls");
// Create another Workbook.
Workbook excelWorkbook1 = new Workbook();
// Copy the first sheet of the first book into second book.
excelWorkbook1.getWorksheets().get(0).copy(excelWorkbook0.getWorksheets().get(0));
// Save the file.
excelWorkbook1.save(dataDir + "FinalBook.xls", FileFormatType.EXCEL_97_TO_2003);

Перемещение листа между книгами Excel

Запуск кода перемещает лист move из FirstWorkbook.xls в SecondWorkbook.xls с новым именем Sheet3.

Output FirstWorkbook.xls

todo:image_alt_text

Output SecondWorkbook.xls

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(MoveWorksheet.class);
// Create a new Workbook.
Workbook wb = new Workbook(dataDir + "BkFinance.xls");
// Get the first worksheet in the book.
Worksheet sheet = wb.getWorksheets().get(0);
// Move the first sheet to the third position in the workbook.
sheet.moveTo(2);
// Save the Excel file.
wb.save(dataDir + "BkFinance.xls");

Заключение