Styr externa resurser med WorkbookSetting.StreamProvider

Möjliga användningsscenarier

Ibland innehåller din Excel-fil externa resurser t.ex. länkade bilder etc. Aspose.Cells låter dig styra dessa externa resurser med hjälp avArbetsbok.Inställningar.StreamProvidersom tar genomförandet avIStreamProvidergränssnitt. Närhelst du försöker rendera ditt kalkylblad som innehåller externa resurser t.ex. länkade bilder, metoderna förIStreamProvidergränssnitt kommer att anropas vilket gör att du kan vidta lämpliga åtgärder för dina externa resurser.

Styr externa resurser med WorkbookSetting.StreamProvider

Följande exempelkod förklarar användningen avArbetsbok.Inställningar.StreamProvider . Den laddarexempel på Excel-fil som innehåller en länkad bild. Koden ersätter den länkade bilden medAspose Logotyp och renderar hela arket till en enda bild med hjälp avSheetRender klass. Följande skärmdump visar exemplet på Excel-filen och dessrenderad utdatabild för en referens. Som du kan se är den trasiga länkade bilden ersatt med Aspose Logotyp.

todo:image_alt_text

Exempelkod

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