Styr externa resurser med hjälp av WorkbookSetting.StreamProvider
Möjliga användningsscenario
Ibland innehåller din Excel-fil externa resurser t.ex. länkade bilder, etc. Aspose.Cells tillåter dig att kontrollera dessa externa resurser genom att använda Workbook.Settings.StreamProvider som tar implementationen av IStreamProvider gränssnittet. När du försöker rendera ditt kalkylblad som innehåller externa resurser t.ex. länkade bilder, kommer metoderna i IStreamProvider gränssnittet att anropas vilket gör det möjligt för dig att vidta lämpliga åtgärder för dina externa resurser.
Styr externa resurser med hjälp av WorkbookSetting.StreamProvider
Följande kodexempel förklarar användningen av Workbook.Settings.StreamProvider. Den laddar prov-Excel-filen som innehåller en länkad bild. Koden ersätter den länkade bilden med Aspose-logotypen och renderar hela arket till en enda bild med hjälp av SheetRender klassen. Följande skärmdump visar prov-Excel-filen och dess renderade utdata-bild som referens. Som du kan se ersätts den trasiga länkade bilden med Aspose-logotypen.
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."); | |
} | |
} |