2016-07-18 15 views
1

Ich muss oft die Werte und Formeln des usedRange aller Arbeitsblätter sammeln. Ich frage mich, wie dies durch JavaScript-API für Excel zu tun.Erhalten Sie Werte und Formeln einer Arbeitsmappe von JavaScript API für Excel 2013?

Es scheint, dass die einzige Möglichkeit zum Abrufen/Lesen von Daten über binding10 ist. Es gibt zum Beispiel MatrixBindings und TableBindings. Aber ich sehe nicht, wie man an einen festen Bereich bindet (sagen wir A1:Z1000 von Sheet1).

Konnte jemand helfen?

Antwort

0

Hier ist ein Weg, um die Werte in einem benannten Bereich in Excel 2013 zu erhalten:

var myBindings = Office.context.document.bindings; 
myBindings.addFromNamedItemAsync("Sheet1!A1:Z1000", "matrix", {}, function (asyncResult) { 
    asyncResult.value.getDataAsync(function (asyncResult2) { 
     console.log(asyncResult2.value); 
    }); 
}); 

Es gibt eine Möglichkeit, die Formeln zu erhalten 2013

Ich soll den kleineren API-Satz nicht beachten Verfügbar für Excel 2013 ist nicht wirklich für das Abrufen des gesamten Inhalts von Blättern vorgesehen, aber der obige Code wird weiterhin für diesen schmalen Fall funktionieren.

-Michael Saunders (Program Manager für Add-Ins in Office)

+0

Und gibt es eine Möglichkeit, die Liste aller Arbeitsblätter zu bekommen? Außerdem ist es nicht möglich, 'usedRange' zu ​​bekommen, oder? – SoftTimur

+1

Sie können keine Liste aller Arbeitsblätter abrufen, aber Sie können auf das aktuelle Arbeitsblatt verweisen, indem Sie einfach "A1: Z1000" sagen. Und ja, 'usedRange' ist nicht verfügbar –