Docs HotXLS

Préservation des métadonnées de classeur XLS classique

HotXLS préserve les enregistrements de métadonnées BIFF8 au niveau du classeur que Excel peut placer dans les fichiers .xls classiques. Cela inclut les métadonnées de sauvegarde, les métadonnées de partage de classeur et les enregistrements de protection contre la révision qui ne sont pas exposés comme objets API de haut niveau modifiables

Enregistrements préservés

Surface API

type
  IXLSWorkbook = class
    property LastSavedBy: WideString;
    property EncryptionPassword: WideString;
  end;

  TXLSWorkbook = class
    property LastSavedBy: WideString;
    property EncryptionPassword: WideString;
    property CreatedDate: TDateTime;
    property LastSavedDate: TDateTime;
    property RevisionNumber: Integer;
    property EditTimeMinutes: Double;
    property SharedRevisionProtected: Boolean;
    property SharedRevisionPasswordHash: Word;
    property WindowProtected: Boolean;
  end;
      

Les enregistrements de partage de fichier et de protection contre la révision sont volontairement préservés comme charges utiles d'enregistrements BIFF bruts. HotXLS ne réinterprète ni ne réécrit leurs indicateurs internes ni leurs hachages de mot de passe, de sorte qu'un classeur créé par Excel peut traverser HotXLS sans perdre ces métadonnéesCreatedDate, LastSavedDate, RevisionNumber, EditTimeMinutes) survivent au flux de propriétés de document OLE, de sorte qu'un classeur chargé puis enregistré conserve ses horodatages d'origine tant que l'application ne les modifie pas

Les trois indicateurs de protection exposent les enregistrements bruts préservés sous forme de valeurs typées : SharedRevisionProtected mirrors the PROT4REV shared-workbook revision-tracking flag, SharedRevisionPasswordHash the legacy 16-bit PROT4REVPASSWORD hash, and WindowProtected the WINDOWPROTECT qui verrouille la configuration de la fenêtre du classeur. Ils sont en lecture/écriture sur la classe, afin que les applications puissent produire les mêmes états qu'Excel

Les enregistrements de partage de fichier et de protection de révision sont volontairement préservés comme charges utiles brutes d'enregistrements BIFF. HotXLS ne réinterprète ni ne réécrit leurs indicateurs internes ni leurs hachages de mot de passe, de sorte qu'un classeur créé par Excel peut traverser HotXLS sans perdre ces métadonnées

Mettre à jour le nom d'utilisateur sauvegardé

uses lxHandle;

var
  Workbook: TXLSWorkbook;
begin
  Workbook := TXLSWorkbook.Create;
  try
    Workbook.Open('shared-template.xls');
    Workbook.LastSavedBy := 'Build Server';
    Workbook.SaveAs('shared-template-updated.xls');
  finally
    Workbook.Free;
  end;
end;
      

Utiliser le chiffrement séparément

Les métadonnées de partage de classeur sont distinctes du chiffrement de fichiers HotXLS. Pour écrire un fichier XLS classique chiffré, définissez EncryptionPassword avant d'enregistrer :

Workbook.EncryptionPassword := 'secret';
Workbook.SaveAs('encrypted.xls');
      

Rubriques associées