التحكم في الموارد الخارجية باستخدام WorkbookSetting.StreamProvider
سيناريوهات الاستخدام المحتملة
في بعض الأحيان، يحتوي ملف الإكسيل الخاص بك على موارد خارجية مثل الصور المرتبطة وما إلى ذلك. تتيح Aspose.Cells لك التحكم في هذه الموارد الخارجية باستخدام Workbook.Settings.StreamProvider الذي يأخذ تنفيذ واجهة IStreamProvider. عندما تحاول عرض ورقة العمل الخاصة بك المحتوية على موارد خارجية مثل الصور المرتبطة، سيتم استدعاء طرق واجهة IStreamProvider مما سيمكنك من اتخاذ إجراءات مناسبة للموارد الخارجية الخاصة بك.
التحكم في الموارد الخارجية باستخدام WorkbookSetting.StreamProvider
يوضح الكود العيني التالي استخدام Workbook.Settings.StreamProvider. يحمل ملف الإكسيل العيني المرفق المحتوي على صورة مرتبطة. يقوم الكود بتعويض الصورة المرتبطة بـ Aspose Logo ويقوم بعرض الورقة ككاملة في صورة واحدة باستخدام فئة SheetRender. تُظهر اللقطة الشاشة التالية بمثال الإكسيل العيني و صورة الإخراج المقروءة للإشارة. كما يمكنك رؤية، تم استبدال الصورة المرتبطة التالفة بشعار Aspose.
الكود المثالي
// 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."); | |
} | |
} |