WorkbookSetting.StreamProvider Kullanarak Harici Kaynakları Kontrol Etme

Olası Kullanım Senaryoları

Bazen Excel dosyanız harici kaynaklar içerebilir, örneğin bağlantılı resimler vb. Aspose.Cells, Workbook.Settings.StreamProvider kullanarak bu harici kaynakları kontrol etmenize izin verir ki bu, IStreamProvider arayüzünün uygulamasını alır. Eğer çalışma sayfasınız harici kaynaklar içeren bir resmi oluşturulduğunda, IStreamProvider arayüzünün yöntemleri tetiklenecek ve harici kaynaklarınıza uygun eylemleri gerçekleştirmenize olanak sağlayacaktır.

WorkbookSetting.StreamProvider Kullanarak Harici Kaynakları Kontrol Etme

Aşağıdaki örnek kod, Workbook.Settings.StreamProvider kullanımını açıklar. Örnek Excel dosyasını içeren bağlantılı bir resim bulunmaktadır. Kod, bağlantılı resmi Aspose Logosu ile değiştirir ve SheetRender sınıfını kullanarak çalışma sayfasını tek bir resim haline getirir. Aşağıdaki ekran görüntüsü, örnek Excel dosyasını ve referans için oluşturulmuş çıktı resmi‘ni göstermektedir. Bozuk bağlantılı resmi Aspose Logosu ile değiştirildiği gibi görünmektedir.

todo:image_alt_text

Örnek Kod

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