Controle los recursos externos mediante WorkbookSetting.StreamProvider
Posibles escenarios de uso
A veces, su archivo de Excel contiene recursos externos, por ejemplo, imágenes vinculadas, etc. Aspose.Cells le permite controlar estos recursos externos usandoLibro de trabajo.Configuración.StreamProviderque lleva la implementación de laIStreamProviderinterfaz. Cada vez que intente representar su hoja de trabajo que contiene recursos externos, por ejemplo, imágenes vinculadas, los métodos delIStreamProviderSe invocará la interfaz que le permitirá tomar las medidas adecuadas para sus recursos externos.
Controle los recursos externos mediante WorkbookSetting.StreamProvider
El siguiente código de ejemplo explica el uso de laLibro de trabajo.Configuración.StreamProvider . carga elejemplo de archivo de Excel que contiene una imagen vinculada. El código reemplaza la imagen vinculada conAspose Logotipo y convierte toda la hoja en una sola imagen usandoHojaRenderizar clase. La siguiente captura de pantalla muestra el archivo de ejemplo de Excel y suimagen de salida renderizada para una referencia. Como puede ver, la imagen vinculada rota se reemplaza con el logotipo Aspose.
Código de muestra
// 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."); | |
} | |
} |