Рубрики
Без рубрики

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

В этой статье показано, как копировать и перемещать листы Excel в Java. Помеченные как java, excel, копировать рабочий лист, перемещать рабочий лист.

Могут возникнуть ситуации, когда вы захотите создать новый рабочий лист на основе существующего рабочего листа или переместить существующую вкладку рабочего листа в другое место. Цель этой статьи – показать вам, как копировать и перемещать листы в Excel в приложении Java с помощью FreeSpire. XLS для библиотеки Java .

Краткое содержание

  • Добавление зависимостей
  • Копирование листов в рабочую книгу
  • Копирование листов между рабочими книгами
  • Копирование определенных диапазонов ячеек
  • Перемещение листов

Добавление зависимостей

Прежде всего, вам нужно добавить необходимые зависимости для включения Free Spire. XLS для Java в ваш Java-проект. Есть два способа сделать это.

Если вы используете maven, вам необходимо добавить следующий код в свой проект pom.xml файл.

  
          
            com.e-iceblue  
            e-iceblue  
            http://repo.e-iceblue.com/nexus/content/groups/public/  
          
  
  
      
        e-iceblue  
        spire.xls.free  
        2.2.0  
      

Для проектов, не связанных с maven, скачайте бесплатный Spire. XLS для пакета Java с этого веб-сайта и добавьте Spire.Xls.jar в папке lib в вашем проекте в качестве зависимости.

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

Свободный дух. XLS для Java поддерживает копирование листов внутри книг или между ними. Данные рабочего листа, формат, диаграмма или другие объекты копируются с высокой степенью точности. В следующем примере показано, как скопировать рабочий лист в рабочую книгу.

Свободный дух. XLS для Java предоставляет метод Worksheet.copyFrom(), который позволяет копировать лист на другой лист в рабочей книге. Вот фрагмент кода для вашей справки:

//Create a Workbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Sample.xlsx");

//Get the first worksheet
Worksheet sheet1 = workbook.getWorksheets().get(0);
//Add a new worksheet to the workbook
Worksheet newSheet = workbook.getWorksheets().add("Copy of sheet1");
//Copy the first worksheet to the new worksheet
newSheet.copyFrom(sheet1);

//Save the result file
workbook.saveToFile("CopyWithinWorkbook.xlsx", FileFormat.Version2013);

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

Метод Worksheet.copyFrom() также используется для копирования листов между книгами. В следующем фрагменте кода показано, как скопировать существующий рабочий лист из рабочей книги в другую рабочую книгу.

//Create a Workbook instance
Workbook workbook1 = new Workbook();
//Load an Excel file
workbook1.loadFromFile("Sample.xlsx");

//Get the first worksheet of the workbook
Worksheet sheetOfWorkbook1 = workbook1.getWorksheets().get(0);

//Create a Workbook instance
Workbook workbook2 = new Workbook();
//Load another Excel file
workbook2.loadFromFile("Test.xlsx");

//Add a worksheet to the file
Worksheet sheetOfWorkbook2 = workbook2.getWorksheets().add("Copy of sheet1 in Sample.xlsx");
//Copy the first worksheet of the first Excel file to the newly added worksheet of the second Excel file
sheetOfWorkbook2.copyFrom(sheetOfWorkbook1);

//Save the result file
workbook2.saveToFile("CopyBetweenWorkbooks.xlsx", FileFormat.Version2013);

Копирование определенных диапазонов ячеек

Свободный дух. XLS для Java предоставляет метод Worksheet.copy(), который используется для копирования определенных диапазонов ячеек. Следующий фрагмент кода показывает, как скопировать определенный диапазон ячеек в другое место.

//Create a Worbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Sample.xlsx");

//Get the first worksheet
Worksheet sheet1 = workbook.getWorksheets().get(0);

//Specify the source cell range
CellRange range1 = sheet1.getCellRange(1,1,5,3);
//Specify the destination cell range
CellRange range2 = sheet1.getCellRange(1,5,5,7);

//Copy the source cell range to the destination cell range
sheet1.copy(range1, range2, true);

//Save the result file
workbook.saveToFile("CopyParticularCellRange.xlsx", FileFormat.Version2013);

Перемещение листов

Чтобы переместить рабочий лист в другое место в рабочей книге, необходимо использовать метод Worksheet.movie Worksheet(). В следующем фрагменте кода показано, как переместить рабочий лист в другое место в той же книге.

//Create a Workbook instance
Workbook workbook = new Workbook();
//Load an Excel file
workbook.loadFromFile("Sample.xlsx");

//Get the first worksheet
Worksheet sheet1 = workbook.getWorksheets().get(0);
//Move the worksheet to another location within the workbook
sheet1.moveWorksheet(1);

//Save the result file
workbook.saveToFile("MoveWorksheets.xlsx", FileFormat.Version2013);

Оригинал: “https://dev.to/eiceblue/copy-and-move-excel-worksheets-in-java-31d6”