Controllare le risorse esterne utilizzando WorkbookSetting.StreamProvider

Possibili Scenari di Utilizzo

A volte il tuo file Excel contiene risorse esterne come immagini collegate, ecc. Aspose.Cells ti consente di controllare queste risorse esterne utilizzando Workbook.Settings.StreamProvider che prende l’implementazione dell’interfaccia IStreamProvider. Ogni qualvolta proverai a visualizzare il foglio di lavoro contenente risorse esterne come immagini collegate, verranno invocati i metodi dell’interfaccia IStreamProvider che ti consentiranno di prendere azioni appropriate per le tue risorse esterne.

Controllare le risorse esterne utilizzando WorkbookSetting.StreamProvider

Il codice di esempio seguente spiega l’uso del Workbook.Settings.StreamProvider. Carica il file Excel di esempio contenente un’immagine collegata. Il codice sostituisce l’immagine collegata con il Logo Aspose e renderizza l’intero foglio in un’unica immagine utilizzando la classe SheetRender. Lo screenshot seguente mostra il file Excel di esempio e la sua immagine di output renderizzata per riferimento. Come puoi vedere, l’immagine collegata danneggiata è stata sostituita con il Logo Aspose.

todo:image_alt_text

Codice di Esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
class ControlExternalResourcesUsingWorkbookSetting_StreamProvider
{
//Source directory
static string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
static string outputDir = RunExamples.Get_OutputDirectory();
//Implementation of IStreamProvider
class SP : IStreamProvider
{
public void CloseStream(StreamProviderOptions options)
{
}
public void InitStream(StreamProviderOptions options)
{
//string sourceDir = RunExamples.Get_SourceDirectory();
//Open the filestream of Aspose Logo and assign it to StreamProviderOptions.Stream property
FileStream fi = new FileStream(sourceDir + "sampleControlExternalResourcesUsingWorkbookSetting_StreamProvider.png", FileMode.OpenOrCreate, FileAccess.Read);
options.Stream = fi;
}
}
public static void Run()
{
//Load sample Excel file containing the external resource e.g. linked image etc.
Workbook wb = new Workbook(sourceDir + "sampleControlExternalResourcesUsingWorkbookSetting_StreamProvider.xlsx");
//Provide your implementation of IStreamProvider
wb.Settings.ResourceProvider = new SP();
//Access first worksheet
Worksheet ws = wb.Worksheets[0];
//Specify image or print options, we need one page per sheet and png output
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.OnePagePerSheet = true;
opts.ImageType = ImageType.Png;
//Create sheet render by passing required parameters
SheetRender sr = new SheetRender(ws, opts);
//Convert your entire worksheet into png image
sr.ToImage(0, outputDir + "outputControlExternalResourcesUsingWorkbookSetting_StreamProvider.png");
Console.WriteLine("ControlExternalResourcesUsingWorkbookSetting_StreamProvider executed successfully.");
}
}