public WorkbookStream EncryptWorkbookStream(WorkbookStream wbs, string password = XorObfuscation.DefaultPassword) { WorkbookStream encryptedWbs = new WorkbookStream(TransformWorkbookBytes(wbs.ToBytes(), ObfuscationMode.Encrypt, password)); encryptedWbs = encryptedWbs.FixBoundSheetOffsets(); return(encryptedWbs); }
public void TestChangeLabel() { WorkbookStream macroWorkbookStream = new WorkbookStream(TestHelpers.GetMacroTestBytes()); List <Lbl> labels = macroWorkbookStream.GetAllRecordsByType <Lbl>(); Lbl autoOpenLbl = labels.First(l => l.fBuiltin && l.Name.Value.Equals("\u0001")); Lbl replaceLabelStringLbl = ((BiffRecord)autoOpenLbl.Clone()).AsRecordType <Lbl>(); replaceLabelStringLbl.SetName(new XLUnicodeStringNoCch("Auto_Open", true)); replaceLabelStringLbl.fBuiltin = false; var cloneLabel = ((BiffRecord)replaceLabelStringLbl.Clone()).AsRecordType <Lbl>(); var cBytes = cloneLabel.GetBytes(); var rLabelBytes = replaceLabelStringLbl.GetBytes(); Assert.AreEqual(rLabelBytes, cBytes); macroWorkbookStream = macroWorkbookStream.ReplaceRecord(autoOpenLbl, replaceLabelStringLbl); macroWorkbookStream = macroWorkbookStream.FixBoundSheetOffsets(); ExcelDocWriter writer = new ExcelDocWriter(); writer.WriteDocument(TestHelpers.AssemblyDirectory + Path.DirectorySeparatorChar + "changedLabel.xls", macroWorkbookStream.ToBytes()); }