예제 #1
0
        protected void WriteMsoHeader(ushort FBT, uint len, XlsStream stream)
        {
            MsoHeader header = new MsoHeader();

            header.Options = Convert.ToUInt16(version + (fInstance << 4));
            header.FBT     = FBT;
            header.Len     = len;
            header.WriteToStream(stream);
        }
예제 #2
0
        protected override int GetSize()
        {
            int size  = MsoHeader.Size();
            int count = Items.Count;

            for (int i = 0; i < count; i++)
            {
                size += ((MsoData)items[i]).Size;
            }
            return(size);
        }
예제 #3
0
        protected override int GetSize()
        {
            int size = MsoHeader.Size();

            for (int i = 0; i < values.Count; i++)
            {
                size += OptValue.Size();
                OptData item = (OptData)values[i];
            }
            return(size);
        }
예제 #4
0
        public override void Write(XlsStream stream)
        {
            uint size = Convert.ToUInt32(Size - MsoHeader.Size() + extSize);

            WriteMsoHeader(id, size, stream);
            int count = Items.Count;

            for (int i = 0; i < count; i++)
            {
                ((MsoData)items[i]).Write(stream);
            }
        }
예제 #5
0
 protected override int GetSize()
 {
     return(MsoSplitMenuColors.Size() + MsoHeader.Size());
 }
예제 #6
0
        public override void Write(XlsStream stream)
        {
            MsoBseRec rec = new MsoBseRec();

            rec.tag = 0x00FF;
            if (!isDummy)
            {
                rec.winType  = Picture.PictureType;
                rec.macType  = rec.winType;
                rec.size     = Convert.ToUInt32(Picture.Size + 25);
                rec.refCount = Convert.ToUInt32(Picture.RefCount);
                rec.Dummy    = 0x02E2;
                fInstance    = Convert.ToUInt16(rec.winType);
            }
            WriteMsoHeader(XlsConsts.MsoBse, Convert.ToUInt32(Picture.Size + XlsConsts.BLIP_Extra + DataSize + MsoHeader.Size()), stream);
            stream.Write(new Byte[1] {
                Convert.ToByte(rec.winType)
            }, 0, 1);
            stream.Write(new Byte[1] {
                Convert.ToByte(rec.macType)
            }, 0, 1);
            stream.Write(rec.checksum, 0, 16);
            stream.Write(rec.tag);
            stream.Write(rec.size);
            stream.Write(rec.refCount);
            stream.Write(rec.delOffset);
            stream.Write(rec.isTexture);
            stream.Write(rec.nameLen);
            stream.Write(rec.Dummy);
        }
예제 #7
0
 protected override int GetSize()
 {
     return(MsoBseRec.Size() + MsoHeader.Size());
 }
예제 #8
0
 protected override int GetSize()
 {
     return(picture.Size + XlsConsts.BLIP_Extra + MsoHeader.Size());
 }
예제 #9
0
 protected override int GetSize()
 {
     return(DataLength + MsoHeader.Size());
 }