Метод CellRange.copyInto
Метод позволяет копировать (аналог Ctrl+C, Ctrl+V в редакторе таблиц) ячейки текущего диапазона в заданную позицию. Вы можете копировать ячейки в пределах одного листа, а также между листами и документами.
Данный метод реализован только в табличных документах.
Вызов
public void copyInto(CellRange destination)
public void copyInto(CellRange destination, CellRangePastingSettings pastingSettings)
Параметры
-
destination: целевой диапазон, тип CellRange. -
pastingSettings: (необязательный) параметры копирования, тип CellRangePastingSettings.
Пример
Table table = document.getBlocks().getTable(0);
var sourceRange = table.getCellRange("A1:B2");
var destRange = table.getCellRange("C3:D4");
sourceRange.copyInto(destRange);
Пример копирования ячеек между листами
var document = application.loadDocument("sheet.xods");
var sheetList1 = document.getBlocks().getTable(0);
var sheetList2 = document.getBlocks().getTable(1);
var sourceRange = sheetList1.getCellRange("A1:C3");
var destRange = sheetList2.getCellRange("A1:C3");
sourceRange.copyInto(destRange);
Пример настройки копирования ячеек
Table sheet = document.getBlocks().getTable(0);
CellRange sourceRange = sheet.getCellRange("A1:C3");
CellRange destRange = sheet.getCellRange("D4:F6");
CellRangePastingSettings settings = new CellRangePastingSettings();
settings.formulasPastingPolicy = FormulasPastingPolicy.AsValues;
settings.stylesPastingPolicy = StylesPastingPolicy.PlainText;
sourceRange.copyInto(destRange, settings);
При копировании ячеек в качестве новой позиции достаточно указать верхнюю левую ячейку нового диапазона, однако если необходимо продублировать исходный блок ячеек, в качестве параметра следует использовать диапазон, превышающий размеры исходного диапазона, но кратный его размерам. Например, при копировании диапазона "A1:B2"(размер 2х2)в диапазон `"B5:E6"`(размер 2х4)блок исходных ячеек продублируется два раза (см. Рисунок).

Дополнительный пример использования приведен в разделе Копирование ячеек в табличном документе.