Ich versuche, eine große Anzahl von Zeilen zur Tabelle hinzuzufügen. Mein Projekt hat die Anforderung für die Addition großer Tabellen.So maximieren Sie die Leistung für die Tabellenzeilenhinzufügung von 50K + -Zeilen mit Excel JavaScript API-Office-Add-In
Bitte lassen Sie mich wissen, ob es eine bessere Alternative zur Maximierung der Leistung gibt. Sollte ich Range-Objekt-API verwenden?
Der Code ist wie folgt.
function createSampleSheet(numberOfTimes) {
startTime = performance.now();
Excel.run(function (context) {
var sheets = context.workbook.worksheets;
var sheet = context.workbook.worksheets.getActiveWorksheet();
var expensesTable = sheet.tables.add("A1:H1", true /*hasHeaders*/);
expensesTable.name = "ExpensesTable";
expensesTable.getHeaderRowRange().values = [["Date", "Merchant", "Category", "Category Type", "Class", "NHID", "Collab ID", "WBID"]];
expensesTable.rows.add(null /*add rows to the end of the table*/, [
["1/1/2017", "The Phone Company", "Communications", "BCD","Distinction", "3", "45", "1000036"]
]);
for (i = 1; i <= numberOfTimes; i++) {
expensesTable.rows.add(null /*add rows to the end of the table*/, [
["1/2/2017", "The Mobile Company", "Corporations", "BSD", "First", "2", "36", "1000026"] ]);}
return context.sync()
.then(function() {
endTime = performance.now();
log.logOutput(" " + numberOfTimes + " rows++ " + (endTime - startTime) + " milliseconds OR " + ((endTime - startTime)/1000) + " seconds")
})
.then(context.sync);
}).catch(function (error) {
console.log("Error: " + error);
BWUI.errorHandler("Upload tables failed : " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
Überprüfungsfragen sollten auf [codereview.stackexchange.com] (https://codereview.stackexchange.com) veröffentlicht werden. – evolutionxbox
Verwenden Sie die Paginierungstechnik, basierend auf dem Indexklick, übertragen Sie Daten auf DOM –