Чтение и запись в неограниченный диапазон с помощью API JavaScript для Excel

Используйте эти рекомендации, чтобы понять, как ведут себя адреса всего столбца и всей строки, и применить шаблоны, которые сокращают количество ошибок и использование памяти. Полный список свойств и методов, поддерживаемых объектом, см. в Rangeразделе Класс Excel.Range.

Ключевые моменты

  • "Без ограничений" означает целые столбцы (например A:F, ) или целые строки (например, 2:2).
  • Свойства на уровне ячейки (например values, , text, numberFormatили formulas) возвращаются как null для неограниченных операций чтения.
  • Нельзя задать свойства на уровне ячеек в неограниченном диапазоне. При этом возвращается ошибка.
  • Сначала сузьте до используемых ячеек с помощью getUsedRange().
  • Предпочитайте явные границы (например A1:F5000, ) для ускорения вычислений и меньшего использования памяти.

Ниже приведены примеры неограниченных диапазонов.

  • Адреса диапазона, состоящие из целых столбцов.
    • C:C
    • A:F
  • Адреса диапазона, состоящие из целых строк.
    • 2:2
    • 1:4

Чтение из неограниченного диапазона

При запросе неограниченного диапазона (например, getRange('C:C')) ответ возвращается null для свойств на уровне ячейки, таких как values, text, numberFormatи formula. Другие свойства (address, cellCount) по-прежнему действительны.

Запись в неограниченный диапазон

Невозможно задать свойства уровня ячейки, такие как values, numberFormatили formula для неограниченного диапазона, так как запрос слишком велик. Например, следующий пример кода завершается ошибкой, так как он задает values для неограниченного диапазона.

// Invalid: Attempting to write cell-level data to unbounded columns.
let range = context.workbook.worksheets.getActiveWorksheet().getRange("A:B");
range.values = [["Due Date"]]; // This throws an error.

Дальнейшие действия

См. также