Optimera minnesanvändningen vid arbete med stora filer med stora dataset

Optimera minne

Följande exempel visar hur du optimerar minnesanvändningen när du arbetar med stora data i Aspose.Cells för Node.js via C++.

//This example shows how to optimize memory usage while working with large data in Aspose.Cells for Node.js via C++

const { Workbook, FileFormatType, MemorySetting } = require("aspose.cells.node");

var workbook = new Workbook(FileFormatType.Xlsx);

// apply the setting to existing "Sheet1"
workbook.getWorksheets().get(0).getCells().setMemorySetting(MemorySetting.MemoryPreference);

// apply the setting globally
workbook.getSettings().setMemorySetting(MemorySetting.MemoryPreference);

workbook.save("out.xlsx");

Försiktighet

Standardalternativet MemorySetting.Normal tillämpas för alla versioner. För vissa situationer, som att bygga en arbetsbok med ett stort dataset för celler, kan alternativet MemorySetting.MemoryPreference optimera minnesanvändningen och minska minneskostnaden för programmet. Detta alternativ kan emellertid försämra prestandan i vissa specialfall såsom följer.

  1. Åtkomst av celler slumpmässigt och upprepade gånger: Den mest effektiva sekvensen för att komma åt cellernas samling är cell för cell i en rad, och sedan rad för rad. Särskilt om du får åtkomst till rader/celler via uppräknaren som erhållits från Cells, RowCollection och Row, kommer prestandan att maximera med MemorySetting.MemoryPreference.
  2. Infoga & Ta bort celler & rader: Observera att om det finns många infogningar/raderingar för celler/rader kommer prestandanedgraderingen att vara märkbar för MemorySetting.MemoryPreference-läget jämfört med MemorySetting.Normal-läget.
  3. Arbete med olika celltyper: Om de flesta cellerna innehåller strängvärden eller formler kommer minneskostnaden att vara densamma som MemorySetting.Normal-läge, men om det finns många tomma celler eller cellvärden är numeriska, booleska och så vidare, kommer MemorySetting.MemoryPreference-alternativet att ge bättre prestanda.