Utilizzo di CustomImplementationFactory per creare un'implementazione personalizzata di Memory Stream

Possibili scenari di utilizzo

Aspose.Cells ha fornito un nome APICellsHelper.CustomImplementationFactoryche consente all’utente di fornire un’implementazione personalizzata come l’utilizzo dell’implementazione della memoria riciclabile invece del MemoryStream predefinito.

Utilizzo di CustomImplementationFactory per creare un’implementazione personalizzata di Memory Stream

Il seguente codice di esempio illustra come utilizzareCellsHelper.CustomImplementationFactorynel tuo programma. A volte, c’è abbastanza memoria nel tuo sistema ma la memoria non è contigua. Gli oggetti Memory Stream utilizzano la memoria contigua ma puoi fornire l’implementazione di Memory Stream in modo tale che utilizzi invece la memoria non contigua,

Codice d’esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Implement CustomImplementationFactory - CELLSNET-45461
public class MM : CustomImplementationFactory
{
RecyclableMemoryStreamManager manager = new RecyclableMemoryStreamManager();
public override MemoryStream CreateMemoryStream()
{
return manager.GetStream("MM");
}
public override MemoryStream CreateMemoryStream(int capacity)
{
return manager.GetStream("MM", capacity);
}
}
//----------------------------------------
//----------------------------------------
//Assign implementation instance of CustomImplementationFactory
CellsHelper.CustomImplementationFactory = new MM();
//Light cells data handler implementation
LightCellsDataHandlerVisitCells v = new LightCellsDataHandlerVisitCells();
//Create workbook object
Workbook wb = new Workbook(sourceDir, new LoadOptions() { MemorySetting = MemorySetting.MemoryPreference, LightCellsDataHandler = v });
//Print miscellaneous data
Console.WriteLine("Total sheets: " + wb.Worksheets.Count + ", cells: " + v.CellCount + ", strings: " + v.StringCount + ", formulas: " + v.FormulaCount);