Optimera minnesanvändning när du arbetar med stora filer med stora datamängder
När du bygger en arbetsbok med stora datamängder, eller läser en stor Microsoft Excel-fil, är den totala mängden RAM som processen kommer att ta alltid ett problem. Det finns åtgärder som kan anpassas för att klara utmaningen. Aspose.Cells ger några relevanta alternativ och API-anrop för att minska, minska och optimera minnesanvändningen. Det kan också hjälpa processen att arbeta mer effektivt och köra snabbare.
Använda sig avMemorySetting.MEMORY_PREFERENCE alternativ för att optimera minne som används för celldata för att minska den totala minneskostnaden. När du bygger stora datamängder för celler kan det spara en viss mängd minne jämfört med att använda standardinställningenMemorySetting.NORMAL.
Optimera minnet
Läsa stora Excel-filer
Följande exempel visar hur man läser en stor Microsoft Excel-fil i optimerat läge.
Skriva stora Excel-filer
Följande exempel visar hur man skriver en stor datamängd till ett kalkylblad i optimerat läge.
Varning
Standardalternativet,MemorySetting.NORMALtillämpas för alla versioner. För vissa situationer, som att bygga en arbetsbok med en stor datamängd för celler,MemorySetting.MEMORY_PREFERENCEalternativet kan optimera minnesanvändningen och minska minneskostnaden för programmet. Det här alternativet kan dock försämra prestandan i vissa speciella fall som följer.
- Åtkomst till Cells slumpmässigt och upprepade gånger : Den mest effektiva sekvensen för att komma åt cellsamlingen är cell för cell i en rad och sedan rad för rad. Speciellt om du får åtkomst till rader/celler av Enumeratorn som hämtats frånCells, RowCollection ochRad , skulle prestandan maximeras medMemorySetting.MEMORY_PREFERENCE.
- Infoga & Ta bort Cells & Rader : Observera att om det finns många insert/delete-operationer för Cells/Rows, kommer prestandaförsämringen att märkas förMemorySetting.MEMORY_PREFERENCE läge jämfört medMemorySetting.NORMALläge.
- Fungerar på olika Cell typer : Om de flesta av cellerna innehåller strängvärden eller formler blir minneskostnaden densamma somMemorySetting.NORMALläge men om det finns många tomma celler eller cellvärden är numeriska, bool och så vidare,MemorySetting.MEMORY_PREFERENCEalternativet ger bättre prestanda.