IExportObjectListener

IExportObjectListener interface

Tillåter användare att manipulera objekt medan de exporterar.

public interface IExportObjectListener

Metoder

namnBeskrivning
ExportObject(ExportObjectEvent)Exportera ett objekt.

Exempel

Följande exempel skapar en arbetsbok, öppnar en fil med namnet designer.xls i den och gör de horisontella och vertikala rullningslisterna osynliga för arbetsboken. Den ersätter sedan två strängvärden med ett heltalsvärde respektive ett strängvärde i kalkylarket och skickar slutligen den uppdaterade filen till klientens webbläsare.

[C#]
    //anpassad implementering av 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)
        {
            //här sparar du bilden på valfri plats och returnerar sedan webbadressen (relativ eller absolut) som den genererade HTML-koden kan hämta bilden
            return "temp1/temp2.png";
        }
     }
     
     //Spara html-fil med anpassad lyssnare
        HtmlSaveOptions saveOptions = new HtmlSaveOptions();
        saveOptions.ExportObjectListener = new CustomExportObjectListener();
        Stream stream = File.Create(outfn);
        book.Save(stream, saveOptions);
        stream.Flush();
        stream.Close();

Se även