Копирование диапазонов Excel
Введение
В Excel вы можете выбрать диапазон, скопировать его, а затем вставить его с определенными параметрами на ту же рабочую книгу, другие листы или другие файлы.
Копирование диапазонов с использованием Aspose.Cells
Aspose.Cells предоставляет некоторые перегрузки методов Range.Copy для копирования диапазона.
Копировать диапазон
Создание двух диапазонов: исходного диапазона, целевого диапазона, а затем копирование исходного диапазона в целевой диапазон с помощью метода Range.Copy.
См. следующий код:
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Create a range of cells. | |
Range sourceRange = worksheet.getCells().createRange("A1", "A2"); | |
// Input some data with some formats into a few cells in the range. | |
sourceRange.get(0, 0).putValue("Test"); | |
sourceRange.get(1, 0).putValue("123"); | |
// Create target range of cells. | |
Range targetRange = worksheet.getCells().createRange("B1", "B2"); | |
// Copy source range to target range in the same workhseet | |
targetRange.copy(sourceRange); | |
// Create target range of cells. | |
workbook.getWorksheets().add(); | |
worksheet = workbook.getWorksheets().get(1); | |
targetRange = worksheet.getCells().createRange("A1", "A2"); | |
// Copy source range to target range in another workhseet | |
targetRange.copy(sourceRange); | |
//Copy to another workbook | |
Workbook anotherWorkbook = new Workbook(); | |
worksheet = workbook.getWorksheets().get(0); | |
targetRange = worksheet.getCells().createRange("A1", "A2"); | |
// Copy source range to target range in another workbook | |
targetRange.copy(sourceRange); |
Вставка диапазона с параметрами
Aspose.Cells поддерживает вставку диапазона с определенным типом.
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Create a range of cells. | |
Range sourceRange = worksheet.getCells().createRange("A1", "A2"); | |
// Input some data with some formats into a few cells in the range. | |
sourceRange.get(0, 0).putValue("Test"); | |
sourceRange.get(1, 0).putValue("123"); | |
// Create target range of cells. | |
Range targetRange = worksheet.getCells().createRange("B1", "B2"); | |
// Init paste options. | |
PasteOptions options = new PasteOptions(); | |
// Set paste type. | |
options.setPasteType(PasteType.VALUES_AND_FORMATS); | |
options.setSkipBlanks(true); | |
// Copy source range to target range | |
targetRange.copy(sourceRange, options); |
Только копирование данных диапазона.
Также вы можете скопировать данные с помощью метода Range.CopyData, как показано в следующем коде:
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Create a range of cells. | |
Range sourceRange = worksheet.getCells().createRange("A1", "A2"); | |
// Set a few cells in the range. | |
sourceRange.get(0, 0).putValue("Test"); | |
sourceRange.get(1, 0).putValue("123"); | |
// Create target range of cells. | |
Range targetRange = worksheet.getCells().createRange("B1", "B2"); | |
//Only copy data the range. | |
targetRange.CopyData(sourceRange); |