Руководство по созданию и форматированию таблицы Excel
В этом руководстве описаны основы записи, редактирования и написания сценария Office для Excel. Вы запишите сценарий, применяющий форматирование к листу продаж. После этого вы измените записанный сценарий, чтобы применить дополнительное форматирование, создать таблицу и отсортировать ее. Эта шаблон записи с последующим изменением является важным инструментом для просмотра ваших действий Excel в виде кода.
Необходимые компоненты
Для работы с этим руководством вам потребуется доступ к скриптам Office. Если вкладка "Автоматизация" не отображается, ознакомьтесь с разделом Поддержка платформы .
Важно!
Этот учебник предназначен для пользователей с начальным и средним уровнем знаний по JavaScript или TypeScript. Если вы впервые работаете с JavaScript, рекомендуем начать с учебника Mozilla по JavaScript. Чтобы получить дополнительные сведения о среде сценариев, ознакомьтесь со статьей Среда редактора кода сценариев Office.
Добавление данных и запись простого сценария
Во-первых, вам потребуются некоторые данные и небольшой начальный скрипт.
Создайте книгу Excel.
Скопируйте следующие данные о продаже фруктов и вставьте их на лист, начиная с ячейки A1.
Фрукты 2018 2019 Апельсины 1000 1200 Лимоны 800 900 Лаймы 600 500 Грейпфруты 900 700 Откройте вкладку Автоматизация. Если вы не видите вкладку Автоматизация, проверьте переполнение ленты, нажав стрелку раскрывающегося списка. Если нужного элемента по-прежнему нет, выполните рекомендации из статьи Устранение неполадок в сценариях Office.
Нажмите кнопку Записать действия.
Выделите ячейки A2:C2 (строка "Апельсины") и установите оранжевый цвет заливки.
Чтобы остановить запись, нажмите кнопку Остановить.
Ваш лист должен выглядеть, как показано ниже (не волнуйтесь, если цвет отличается):
Редактирование существующего сценария
Предыдущий сценарий окрасил строку "Апельсины" в оранжевый цвет. Добавьте желтую строку для "Лимоны".
В открывшейся области Сведения нажмите кнопку Изменить.
Должен отобразиться примерно такой код:
function main(workbook: ExcelScript.Workbook) { // Set fill color to FFC000 for range Sheet1!A2:C2 let selectedSheet = workbook.getActiveWorksheet(); selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000"); }
Этот код получает текущий лист из книги. Затем он настраивает цвет заливки диапазона A2:C2.
Диапазоны — это фундаментальная часть сценариев Office в Excel. Диапазон — это непрерывный прямоугольный блок ячеек, содержащий значения, формулы и форматирование. Они представляют собой базовую структуру ячеек, в которой можно выполнять большинство задач сценариев.
Добавьте следующую строку в конце сценария (между местом настройки значения
color
и закрывающей скобкой}
):selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow");
Протестируйте сценарий, нажав Запустить. Книга должна выглядеть следующим образом:
Создание таблицы
Затем преобразуйте эти данные о продажах фруктов в таблицу. Вы будете продолжать изменять первый скрипт для всего учебника.
Добавьте следующую строку в конце сценария (перед закрывающей скобкой
}
):let table = selectedSheet.addTable("A1:C5", true);
Этот вызов возвращает объект
Table
. Используйте таблицу для сортировки данных. Отсортируйте данные в порядке возрастания на основе значений в столбце "Фрукты". Добавьте следующую строку после создания таблицы:table.getSort().apply([{ key: 0, ascending: true }]);
Ваш сценарий должен выглядеть так:
function main(workbook: ExcelScript.Workbook) { // Set fill color to FFC000 for range Sheet1!A2:C2 let selectedSheet = workbook.getActiveWorksheet(); selectedSheet.getRange("A2:C2").getFormat().getFill().setColor("FFC000"); selectedSheet.getRange("A3:C3").getFormat().getFill().setColor("yellow"); let table = selectedSheet.addTable("A1:C5", true); table.getSort().apply([{ key: 0, ascending: true }]); }
В таблицах есть объект
TableSort
, доступный с помощью методаTable.getSort
. Вы можете применить условия сортировки к этому объекту. Методapply
использует массив объектовSortField
. В этом случае у вас есть только один критерий сортировки, поэтому используется только одинSortField
. Значениеkey: 0
задает столбец со значениями, определяющими сортировку, равным "0" (это первый столбец в таблице, в данном случае столбец A ). Значениеascending: true
сортирует данные по возрастанию (а не по убыванию).Запустите сценарий. Вы увидите следующую таблицу:
Примечание.
При повторном запуске сценария возникнет ошибка. Это связано с тем, что вы не можете создать таблицу поверх другой таблицы. Однако скрипт можно запустить на другом листе или в другой книге.
Повторный запуск сценария
- Создайте лист в текущей книге.
- Скопируйте данные фруктов из начала учебника и вставьте их на новый лист, начиная с ячейки A1.
- Запустите сценарий.
Дальнейшие действия
Полное руководство. Очистка и нормализация данных книги Excel. С его помощью вы научитесь читать данные из книги с помощью сценариев Office.
Office Scripts