WorkbookSetting.StreamProvider kullanarak Harici Kaynakları Kontrol Edin

Olası Kullanım Senaryoları

Bazen, Excel dosyanız bağlantılı resimler vb. gibi harici kaynaklar içerir. Aspose.Cells, bu harici kaynakları kullanarak kontrol etmenize olanak tanır.Workbook.Settings.StreamProvideruygulanmasını gerektirenIStream Sağlayıcıarayüz. Bağlantılı resimler gibi harici kaynaklar içeren çalışma sayfanızı oluşturmaya çalıştığınızda,IStream Sağlayıcıdış kaynaklarınız için uygun eylemleri gerçekleştirmenizi sağlayacak arayüz çağrılacaktır.

WorkbookSetting.StreamProvider kullanarak Harici Kaynakları Kontrol Edin

Aşağıdaki örnek kod, kullanımını açıklarWorkbook.Settings.StreamProvider. o yüklerörnek excel dosyasıbağlantılı bir resim içerir. Kod, bağlantılı resmi şu şekilde değiştirir:Aspose logosukullanarak tüm sayfayı tek bir görüntüye dönüştürür.SheetRendersınıf. Aşağıdaki ekran görüntüsü, örnek Excel dosyasını veişlenmiş çıktı görüntüsüreferans için Gördüğünüz gibi kopuk bağlantılı resim Aspose Logosu ile değiştirilmiştir.

yapılacaklar:resim_alternatif_metin

Basit kod

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Implementation of IStreamProvider
class SP implements IStreamProvider
{
public void closeStream(StreamProviderOptions arg0) throws Exception {
}
public void initStream(StreamProviderOptions options) throws Exception {
//Open the filestream of Aspose Logo and assign it to StreamProviderOptions.Stream property
File imgFile = new File(srcDir + "sampleControlExternalResourcesUsingWorkbookSetting_StreamProvider.png");
byte[] bts = new byte[(int) imgFile.length()];
FileInputStream fin = new FileInputStream(imgFile);
fin.read(bts);
fin.close();
ByteArrayOutputStream baout = new ByteArrayOutputStream();
baout.write(bts);
baout.close();
options.setStream(baout);
}
}
public void Run() throws Exception {
System.out.println("Aspose.Cells for Java Version: " + CellsHelper.getVersion());
//String srcDir = Utils.Get_SourceDirectory();
//String outDir = Utils.Get_OutputDirectory();
//Load sample Excel file containing the external resource e.g. linked image etc.
Workbook wb = new Workbook(srcDir + "sampleControlExternalResourcesUsingWorkbookSetting_StreamProvider.xlsx");
//Provide your implementation of IStreamProvider
wb.getSettings().setStreamProvider(new SP());
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Specify image or print options, we need one page per sheet and png output
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.setOnePagePerSheet(true);
opts.setImageType(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, outDir + "outputControlExternalResourcesUsingWorkbookSettingStreamProvider.png");
// Print the message
System.out.println("ControlExternalResourcesUsingWorkbookSetting_StreamProvider executed successfully.");
}
public static void main(String[] args) throws Exception {
new ControlExternalResourcesUsingWorkbookSetting_StreamProvider().Run();
}