Freigeben über


Lesen oder Schreiben in einem großen Bereich mithilfe der Excel-JavaScript-API

Verwenden Sie diese Muster, um große Bereiche zu lesen oder zu schreiben und gleichzeitig Ressourcenlimitfehler zu vermeiden.

  • Teilen Sie große Bereiche in kleinere Blöcke auf. Laden oder schreiben Sie nicht alles gleichzeitig.
  • Laden Sie nur das, was Sie benötigen (z. B. nur values anstelle von values,numberFormat,formulas).
  • Verwenden Sie getSpecialCells und RangeAreas , um mit verstreuten Zellen anstelle eines großen Bereichs zu arbeiten.
  • Wenn ein Grenzwertfehler auftritt, versuchen Sie es mit einer kleineren Blockgröße.
  • Wenden Sie die Formatierung an, nachdem die Daten vorhanden sind.

Wann sollte ein großer Bereich aufgeteilt werden?

Szenario Sign you should split the range Ansatz
Lesen von Millionen von Zellen Timeout- oder Ressourcenfehler Lesen von Zeilen- oder Spaltenblöcken. Beginnen Sie mit 5.000 bis 20.000 Zeilen.
Schreiben eines großen Resultsets Fehler beim einzelnen values Schreibvorgang Schreiben sie in Zeilenblöcke (mit der gleichen Spaltenanzahl für jeden Block).
Sparseupdates Viele entfernte Zellen Erstellen Sie eine kombinierte Adresszeichenfolge mit getRanges und RangeAreas.
Schreiben von Daten und Formatierung Die Formatierung verlangsamt Excel Schreiben Sie zuerst Werte, formatieren Sie danach.

Zurückstellen der Formatierung & Berechnungen

Formatierungs- und rechenintensive Vorgänge, z. B. bedingte Formate oder Formelschreibvorgänge, fügen Zeit für große Bereiche hinzu. Erwägen Sie Folgendes:

  • Schreiben Sie zunächst Unformatierte Werte (einfache Zahlen oder Text), und fügen Sie dann Formeln oder Formate in einem zweiten Durchgang hinzu.
  • Verwenden Sie setDirty nur für erforderliche Neuberechnungsbereiche.
  • Beschränken Sie bedingte Formate mit auf verwendete Zeilen anstelle vollständiger Spaltenverweise (zA2:A5000. B. anstelle von A:A).getUsedRange

Nächste Schritte

Siehe auch