IExportObjectListener

IExportObjectListener interface

Kullanıcıların dışa aktarırken nesneleri değiştirmesine izin verir.

public interface IExportObjectListener

yöntemler

İsimTanım
ExportObject(ExportObjectEvent)Bir nesneyi dışa aktarın.

Örnekler

Aşağıdaki örnek, bir Çalışma Kitabı oluşturur, içinde design.xls adlı bir dosya açar ve yatay ve dikey kaydırma çubuklarını Çalışma Kitabı için görünmez kılar. Ardından, elektronik tablodaki iki dize değerini sırasıyla bir Tamsayı değeri ve dize değeriyle değiştirir ve son olarak güncellenen dosyayı istemci tarayıcısına gönderir.

[C#]
    // IExportObjectListener'ın özel uygulaması
    class CustomExportObjectListener : IExportObjectListener
    {
        private int imgIdx = 0;
        public object ExportObject(ExportObjectEvent e)
        {
            Object source = e.GetSource();
            if (source is Shape)
            {
                Shape shape = (Shape)source;
                string url = null;
                switch (shape.MsoDrawingType)
                {
                    case MsoDrawingType.Picture:
                    {
                        url = SaveImage(((Picture)shape).Data, imgIdx, ((Picture)shape).ImageFormat);
                        break;
                     }
                }
                if (url != null)
                {
                    imgIdx++;
                }
                return url;
            }
            return null;
        }
        private string SaveImage(byte[] data, int imgIdx, ImageFormat format)
        {
            //burada görüntüyü herhangi bir konuma kaydedin, ardından oluşturulan html'nin görüntüyü alabileceği url'yi (göreceli veya mutlak) döndürün
            return "temp1/temp2.png";
        }
     }
     
     //Html dosyasını özel dinleyici ile kaydet
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.ExportObjectListener = new CustomExportObjectListener();
        Stream stream = File.Create(outfn);
        book.Save(stream, saveOptions);
        stream.Flush();
        stream.Close();

Ayrıca bakınız