Controlla le risorse esterne utilizzando WorkbookSetting.StreamProvider
Possibili scenari di utilizzo
A volte, il tuo file Excel contiene risorse esterne, ad esempio immagini collegate, ecc. Aspose.Cells ti consente di controllare queste risorse esterne utilizzandoWorkbook.Settings.StreamProviderche prende l’attuazione delIStreamProviderinterfaccia. Ogni volta che proverai a rendere il tuo foglio di lavoro contenente risorse esterne, ad esempio immagini collegate, i metodi del fileIStreamProviderverrà richiamata l’interfaccia che ti consentirà di intraprendere azioni appropriate per le tue risorse esterne.
Controlla le risorse esterne utilizzando WorkbookSetting.StreamProvider
Il codice di esempio seguente illustra l’utilizzo diWorkbook.Settings.StreamProvider . Carica ilesempio di file Excel contenente un’immagine collegata. Il codice sostituisce l’immagine collegata conAspose Logo e rende l’intero foglio in una singola immagine utilizzandoFoglioRendering classe. Lo screenshot seguente mostra il file Excel di esempio e il relativo fileimmagine di output renderizzata per un riferimento. Come puoi vedere, l’immagine collegata interrotta viene sostituita con il logo Aspose.
Codice d’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."); | |
} | |
} |