IExportObjectListener

IExportObjectListener interface

Ermöglicht Benutzern das Bearbeiten von Objekten während des Exports.

public interface IExportObjectListener

Methoden

NameBeschreibung
ExportObject(ExportObjectEvent)Ein Objekt exportieren.

Beispiele

Das folgende Beispiel erstellt eine Arbeitsmappe, öffnet darin eine Datei namens designer.xls und macht die horizontalen und vertikalen Bildlaufleisten für die Arbeitsmappe unsichtbar. Es ersetzt dann zwei String-Werte durch einen Integer-Wert bzw. einen String-Wert innerhalb der Tabelle und sendet schließlich die aktualisierte Datei an den Client-Browser.

[C#]
    //benutzerdefinierte Implementierung von IExportObjectListener
    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)
        {
            //Speichern Sie hier das Bild an einem beliebigen Ort und geben Sie dann die URL (relativ oder absolut) zurück, mit der das generierte HTML das Bild abrufen kann
            return "temp1/temp2.png";
        }
     }
     
     //HTML-Datei mit benutzerdefiniertem Listener speichern
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.ExportObjectListener = new CustomExportObjectListener();
        Stream stream = File.Create(outfn);
        book.Save(stream, saveOptions);
        stream.Flush();
        stream.Close();

Siehe auch