Steuern Sie externe Ressourcen mithilfe von WorkbookSetting.StreamProvider

Mögliche Nutzungsszenarien

Manchmal enthält Ihre Excel-Datei externe Ressourcen, z. B. verknüpfte Bilder usw. Mit Aspose.Cells können Sie diese externen Ressourcen steuernArbeitsmappe.Einstellungen.StreamProviderdas dauert die Umsetzung derIStreamProviderSchnittstelle. Wann immer Sie versuchen, Ihr Arbeitsblatt zu rendern, das externe Ressourcen enthält, z. B. verknüpfte Bilder, verwenden die Methoden derIStreamProviderwird eine Schnittstelle aufgerufen, die es Ihnen ermöglicht, geeignete Aktionen für Ihre externen Ressourcen durchzuführen.

Steuern Sie externe Ressourcen mithilfe von WorkbookSetting.StreamProvider

Der folgende Beispielcode erläutert die Verwendung derArbeitsmappe.Einstellungen.StreamProvider . Es lädt dieBeispiel-Excel-Datei mit einem verlinkten Bild. Der Code ersetzt das verlinkte Bild durchAspose Logo und rendert das gesamte Blatt in ein einzelnes Bild mitSheetRender Klasse. Der folgende Screenshot zeigt die Beispiel-Excel-Datei und ihregerendertes Ausgabebild für eine Referenz. Wie Sie sehen können, wird das defekte verlinkte Bild durch das Aspose-Logo ersetzt.

todo: Bild_alt_Text

Beispielcode

// 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.");
}
}