1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Runtime.InteropServices;
- using Biff8Excel.Interfaces;
- namespace Biff8Excel.Records
- {
- ////SST校验
- //[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]
- //struct sExtSSt
- //{
- // public ushort opcode; // 0xFF
- // public ushort length;
- // public ushort npoint; // >=8 每隔多少非重复校验一次(至少为8)
- //}
- //internal class ExtSSt : IRecords
- //{
- // sExtSSt extsst;
- // int m_absolut;
- // ushort[] relativePoints;
- // public ExtSSt()
- // {
- // extsst.opcode = 0xFF;
- // extsst.npoint = Globals.npoint;
- // }
- // //绝对偏移量
- // public int absolutoffset
- // {
- // set { m_absolut = value; }
- // }
- // public ushort[] relaPoint
- // {
- // set { relativePoints = value; }
- // }
- // #region IRecords 成员
- // public byte[] GetByte()
- // {
- // int len = (relativePoints.Length ) * 8 + 2;
- // uint absolutPoint = 0; // 所在的数据长度的绝对位置
- // //ushort relativePoint = 0; // 相对SST数据长度的相对位置
- // //public ushort noUsed; // 0x0;
- // extsst.length = (ushort)len;
- // byte[] b = new byte[len+4];
- // Globals.GetByte(extsst).CopyTo(b, 0);
- // if (relativePoints.Length > 0)
- // {
- // int pos = 6;
- // for (int i = 0; i < relativePoints.Length; i++)
- // {
- // absolutPoint = (uint)(m_absolut + relativePoints[i]);
- // BitConverter.GetBytes(absolutPoint).CopyTo(b, pos);
- // pos += 4;
- // BitConverter.GetBytes(relativePoints[i]).CopyTo(b, pos);
- // pos += 4;
- // }
- // }
- // return b;
- // }
- // #endregion
- //}
- }
|