Могут возникнуть ситуации, когда вы захотите создать новый рабочий лист на основе существующего рабочего листа или переместить существующую вкладку рабочего листа в другое место. Цель этой статьи – показать вам, как копировать и перемещать листы в 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”