HotXLS Belgeleri

Klasik XLS çalışma kitabı meta verilerinin korunması

HotXLS, Excel'in klasik .xls dosyalarına yerleştirebildiği çalışma kitabı düzeyindeki BIFF8 meta veri kayıtlarını korur. Bu, kaydeden meta verilerini, çalışma kitabı paylaşım meta verilerini ve düzenlenebilir üst düzey API nesneleri olarak açığa çıkarılmayan düzeltme koruma kayıtlarını içerir

Korunan kayıtlar

API yüzeyi

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;
      

SummaryInformation'ın dört tarih ve sayısal özelliği (CreatedDate, LastSavedDate, RevisionNumber, EditTimeMinutes), OLE belge özellikleri akışı üzerinden round-trip yapar; böylece yüklenen ve kaydedilen bir çalışma kitabı, uygulama bunları değiştirmediği sürece özgün zaman damgalarını korur

Üç koruma bayrağı, korunan ham kayıtları türlü değerler olarak açığa çıkarır: SharedRevisionProtected PROT4REV paylaşılan çalışma kitabı düzeltme takibi bayrağını, SharedRevisionPasswordHash eski 16 bitlik PROT4REVPASSWORD karmasını, WindowProtected ise çalışma kitabı pencere yapılandırmasını kilitleyen WINDOWPROTECT bayrağını yansıtır. Bu alanlar sınıf üzerinde okuma-yazmadır; böylece uygulamalar Excel'in yaptığı durumları aynı şekilde yazabilir

Dosya paylaşımı ve düzeltme koruması kayıtları, kasıtlı olarak ham BIFF kayıt yükleri olarak korunur. HotXLS, bunların iç bayraklarını ve parola karmalarını yeniden yorumlamaz veya yeniden yazmaz; böylece Excel'de yazılmış bir çalışma kitabı, bu meta verileri kaybetmeden HotXLS'ten geçebilir

Kaydeden kullanıcı adını güncelleme

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;
      

Şifrelemeyi ayrı olarak kullanma

Çalışma kitabı paylaşım meta verisi, HotXLS dosya şifrelemesinden ayrıdır. Şifreli bir klasik XLS dosyası yazmak için kaydetmeden önce EncryptionPassword'i ayarlayın:

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

İlgili konular