BN089-BS开发框架MVC4版/source20131023/Zephyr.Net/Zephyr.Utils/Document/Excel/ExcelLibrary/Office/CompoundDocumentFormat/CompoundDocument_Write.cs

(开头部分) 10KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using QiHe.CodeLib;

namespace Zephyr.Utils.ExcelLibrary.CompoundDocumentFormat
{
    public partial class CompoundDocument
    {
        private void WriteHeader()
        {
            this.FileStorage.Position = 0;
            WriteHeader(this.Writer, this.Header);
        }

        private static void WriteHeader(BinaryWriter writer, FileHeader header)
        {
            // header size is 512 bytes
            writer.Write(header.FileTypeIdentifier);
            writer.Write(header.FileIdentifier.ToByteArray());
            writer.Write(header.RevisionNumber);
            writer.Write(header.VersionNumber);
            writer.Write(header.ByteOrderMark);
            writer.Write(header.SectorSizeInPot);
            writer.Write(header.ShortSectorSizeInPot);
            writer.Write(header.UnUsed10);
            writer.Write(header.NumberOfSATSectors);
            writer.Write(header.FirstSectorIDofDirectoryStream);
            writer.Write(header.UnUsed4);
            writer.Write(header.MinimumStreamSize);
            writer.Write(header.FirstSectorIDofShortSectorAllocationTable);
            writer.Write(header.NumberOfShortSectors);
            writer.Write(header.FirstSectorIDofMasterSectorAllocationTable);
            writer.Write(header.NumberOfMasterSectors);
            WriteArrayOfInt32(writer, header.MasterSectorAllocationTable);
        }

        private static void WriteDirectoryEntry(BinaryWriter writer, DirectoryEntry entry)
        {
            writer.Write(entry.NameBuffer);
            writer.Write(entry.NameDataSize);
            writer.Write(entry.EntryType);
            writer.Write(entry.NodeColor);
            writer.Write(entry.LeftChildDID);
            writer.Write(entry.RightChildDID);
            writer.Write(entry.MembersTreeNodeDID);
            writer.Write(entry.UniqueIdentifier.ToByteArray());
            writer.Write(entry.UserFlags);
            writer.Write(entry.CreationTime.ToFileTime());
            writer.Write(entry.LastModificationTime.ToFileTime());
            writer.Write(entry.FirstSectorID);
            writer.Write(entry.StreamLength);
            writer.Write(entry.UnUsed);
        }

        //void WriteMasterSectorAllocationTable(BinaryWriter writer)
        //{
        //    int extraIDcount = MasterSectorAllocationTable.Count - Header.MasterSectorAllocationTable.Length;
        //    if (extraIDcount <= 0)
后面还有 218 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。