создание нового листа и перемещение листов между электронными таблицами в документах Google

У меня есть 2 требования:

1) Я хочу программно создать новый лист из существующего листа в текущей электронной таблице.

2) Я хочу программно скопировать один лист из одной таблицы в другую.

Помощь приветствуется.


person I-M-JM    schedule 15.09.2011    source источник


Ответы (1)


Поскольку вы не указали среду/язык. Я думаю, что проще всего это сделать с помощью скрипта приложений, поскольку он встроен в таблицы Google. .

Вот пример кода, который делает это:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('SheetName');
  sheet.copyTo(ss).setName('NewName'); //copy to the same spreadsheet.
  //get a different spreadsheet (you can get its id in the url)
  var os = SpreadsheetApp.openById('any-spreadsheet-key-that-you-can-edit');
  //copy sourceSheet from one spreadsheet to another
  sheet.copyTo(os).setName('AnotherName');
}

Чтобы запустить это, просто откройте электронную таблицу с листом, который вы хотите скопировать, щелкните меню «Инструменты»> «Редактор сценариев». Вставьте код, «Сохранить и запустить»> «Моя функция».

person Henrique G. Abreu    schedule 29.11.2011
comment
Спасибо за это. Я не смог найти способ перемещать рабочие листы между электронными таблицами через API таблиц Google на С#. Мне пришлось реализовать сценарий приложений и использовать API удаленного выполнения для его запуска. Это не супер быстро (5-10 секунд), но работает. - person Coert Grobbelaar; 18.10.2015