Contrôler les ressources externes à l'aide de WorkbookSetting.StreamProvider

Scénarios d’utilisation possibles

Parfois, votre fichier Excel contient des ressources externes, par exemple des images liées, etc. Aspose.Cells vous permet de contrôler ces ressources externes en utilisantWorkbook.Settings.StreamProviderWorkbook.Settings.StreamProviderqui prend la mise en œuvre de laIStreamProviderinterface. Chaque fois que vous essayez de rendre votre feuille de calcul contenant des ressources externes, par exemple des images liées, les méthodes duIStreamProvidersera invoquée, ce qui vous permettra de prendre les mesures appropriées pour vos ressources externes.

Contrôler les ressources externes à l’aide de WorkbookSetting.StreamProvider

L’exemple de code suivant explique l’utilisation duWorkbook.Settings.StreamProviderWorkbook.Settings.StreamProvider . Il charge leexemple de fichier Excel contenant une image liée. Le code remplace l’image liée parAspose Logo et rend la feuille entière en une seule image en utilisantFeuilleRendu classe. La capture d’écran suivante montre l’exemple de fichier Excel et sonimage de sortie rendue pour une référence. Comme vous pouvez le voir, l’image liée cassée est remplacée par le logo Aspose.

tâche : image_autre_texte

Exemple de code

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