### Save() Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html An example of how to use the Save() extension method to save a workbook. ```csharp Workbook wb = new Workbook("workboox.xlsx", "worksheet1"); // do some operations with wb, like adding cells wb.Save(); // Will save the workbook as 'workbook.xlsx' in the execution path ``` -------------------------------- ### Instance Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Styles_1_1StyleRepository.html Gets the singleton instance of the repository. ```csharp StyleRepository NanoXLSX.Styles.StyleRepository.Instance [get] ``` -------------------------------- ### StyleRepository.cs:26 Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/NumberFormat_8cs_source.html Gets the singleton instance of the repository. ```csharp public static StyleRepository Instance { get; } ``` -------------------------------- ### SaveAsAsync() Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html An example of how to use the SaveAsAsync() extension method to save a workbook asynchronously. ```csharp private async Task CreateXlsx() { Workbook wb = new Workbook("worksheet1"); // do some operations with wb, like adding cells await wb.SaveAsAsync("workboox.xlsx"); // Will save the workbook as 'workbook.xlsx' in the execution path } ``` -------------------------------- ### SaveAs() Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html An example of how to use the SaveAs() extension method to save a workbook with a specified filename. ```csharp Workbook wb = new Workbook("worksheet1"); // do some operations with wb, like adding cells wb.SaveAs("workboox.xlsx"); // Will save the workbook as 'workbook.xlsx' in the execution path ``` -------------------------------- ### SaveAsStreamAsync Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html Demonstrates how to asynchronously save a workbook to a FileStream. ```csharp private async Task CreateXlsx() { Workbook wb = new Workbook("worksheet1"); // do some operations with wb, like adding cells using(FileStream fs = new FileStream("workbook.xslx", FileMode.Create)) { await wb.SaveAsStreamAsync(fs); // Will save the workbook as 'workbook.xlsx' using a FileStream } } ``` -------------------------------- ### SaveAsync Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html Demonstrates how to asynchronously save a workbook to a file in the execution path. ```csharp private async Task CreateXlsx() { Workbook wb = new Workbook("workboox.xlsx", "worksheet1"); // do some operations with wb, like adding cells await wb.SaveAsync(); // Will save the workbook as 'workbook.xlsx' in the execution path } ``` -------------------------------- ### NotStartsWith Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/ParserUtils_8cs_source.html Checks if a string does not start with a specified value. ```C# public static bool NotStartsWith(string input, string value) { return !StartsWith(input, value); } ``` -------------------------------- ### StartsWith Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/ParserUtils_8cs_source.html Checks if a string starts with a specified value, handling null inputs. ```C# public static bool StartsWith(string input, string value) { if (input == null && value == null) { return true; } else if (input == null && value != null) { return false; } else if (value == null) { return false; } return input.StartsWith(value, StringComparison.InvariantCulture); } ``` -------------------------------- ### SaveAsStream Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html Demonstrates how to save a workbook to a FileStream, keeping the stream open. ```csharp Workbook wb = new Workbook("worksheet1"); // do some operations with wb, like adding cells using(FileStream fs = new FileStream("workbook.xslx", FileMode.Create)) { wb.SaveAsStream(fs); // Will save the workbook as 'workbook.xlsx' using a FileStream } ``` -------------------------------- ### SaveAsStreamAsync with MemoryStream Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/classNanoXLSX_1_1WorkbookExtension.html Demonstrates how to asynchronously save a workbook to a MemoryStream and keep the stream open. ```csharp private async Task CreateXlsx() { Workbook wb = new Workbook("worksheet1"); // do some operations with wb, like adding cells using(MemoryStream ms = new MemoryStream()) { await wb.SaveAsStreamAsync(ms, true); // Will save the workbook into a MemoryStream ms.Position = 0; // Rewind the stream // use ms to do copy or save actions } } ``` -------------------------------- ### Initialize Method Documentation Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Registry_1_1PlugInLoader.html Detailed documentation for the static Initialize method, explaining its purpose and return value. ```csharp bool NanoXLSX.Registry.PlugInLoader.Initialize () { // Initializes the plug-in loader process. If already initialized, the method returns without action. // Returns // True if initialized in this call, otherwise false (if already initialized) } ``` -------------------------------- ### Gets the read workbook Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1XlsxReader.html Gets the read workbook. ```csharp Workbook NanoXLSX.Internal.Readers.XlsxReader.Workbook { get; set; } ``` -------------------------------- ### Quick Start (builders) Source: https://rabanti-github.github.io/NanoXLSX.Formatting This snippet shows how to use builders to create formatted text with inline styles and phonetic information. ```csharp Workbook workbook = new Workbook("sheet1"); // Create new workbook InlineStyleBuilder inlineStyleBuilder = new InlineStyleBuilder() // Create a new inline style builder .Color("FFAABBCC") // Add properties to the builder .Italic() .Size(18); FormattedTextBuilder builder = new FormattedTextBuilder(); // Create a new formatted text builder builder.AddRun("朝日", inlineStyleBuilder.Build()); // Add a text and style to the builder builder.AddPhoneticRun("あさひ", 0, 2); // Add a phonetic run to the builder builder.AddRun("Asahi", new Font() { VerticalAlign = Font.VerticalTextAlignValue.Superscript }); // Add another text and style to the builder workbook.CurrentWorksheet.AddFormattedTextCell(builder.Build(), 0, 0); // Create the formatted text and add it to the cell // Save the workbook as myWorkbook.xlsx ``` -------------------------------- ### Quick Start (manual) Source: https://rabanti-github.github.io/NanoXLSX.Formatting This snippet demonstrates how to manually create and add formatted text to a workbook using NanoXLSX.Formatting. ```csharp Workbook workbook = new Workbook("sheet1"); // Create new workbook FormattedText formattedText = new FormattedText(); // Create new formatted text Font strikeFont = new Font() { Strike = true }; // Create a new font style formattedText.AddRun("strike", strikeFont); // Add text and style as run to the formatted text formattedText.AddLineBreak(); // Add a line break after the first run Font boldFont = new Font() { Bold = true, Name = "Tahoma" }; // Create a second font formattedText.AddRun("bold", boldFont); // Add a second run to the formatted text workbook.CurrentWorksheet.AddFormattedTextCell(formattedText, "A1"); // Add formatted text to the worksheet ``` -------------------------------- ### Init Method Documentation Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1MetadataAppReader.html Initialization method (interface implementation). ```csharp void NanoXLSX.Internal.Readers.MetadataAppReader.Init(Stream _stream, Workbook _workbook, IOptions _readerOptions, Action _inlinePluginHandler) ``` -------------------------------- ### Init Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1ThemeReader.html Initialization method (interface implementation). ```csharp void NanoXLSX.Internal.Readers.ThemeReader.Init (Stream _stream, Workbook _workbook, IOptions _readerOptions, Action _inlinePluginHandler) ``` -------------------------------- ### FindCell Example Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Worksheet.html Example of using FindCell with a predicate to search for cells containing a specific string. ```csharp var cell = worksheet.FindCell(c => c.Value?.ToString().Contains("searchValue")); ``` -------------------------------- ### Range Constructor (Address, Address) Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Range_8cs_source.html Initializes a new instance of the Range struct with specified start and end addresses, ensuring the start address is chronologically before the end address. ```csharp public Range(Address start, Address end) { if (start.CompareTo(end) < 0) { this.startAddress = start; this.endAddress = end; } else { this.startAddress = end; this.endAddress = start; } } ``` -------------------------------- ### Initialize Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/PluginLoader_8cs_source.html Initializes the plugin loader. Returns false if already initialized. ```C# public static bool Initialize() { if (initialized) { return false; } lock (_lock) { LoadReferencedAssemblies(); initialized = true; return initialized; } } ``` -------------------------------- ### MergeCells Method (by start and end addresses) Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Merges cells defined by start and end Address objects. Throws an exception if the new merge range overlaps with an existing one. ```csharp public string MergeCells(Address startAddress, Address endAddress) { string key = startAddress + ":" + endAddress; Range value = new Range(startAddress, endAddress); IReadOnlyList
result = value.ResolveEnclosedAddresses(); foreach (KeyValuePair item in mergedCells) { if (item.Value.ResolveEnclosedAddresses().Intersect(result).Any()) { throw new RangeException("The passed range: " + value.ToString() + " contains cells that are already in the defined merge range: " + item.Key); } } mergedCells.Add(key, value); return key; } ``` -------------------------------- ### Init Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/interfaceNanoXLSX_1_1Interfaces_1_1Writer_1_1IPasswordWriter.html Method to initialize the password writer. ```csharp void Init(PasswordType type, string passwordHash) ``` -------------------------------- ### Initialize Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/PluginLoader_8cs_source.html Initializes the plug-in loader process. If already initialized, the method returns without action. ```csharp static bool Initialize() { // Initializes the plug-in loader process. If already initialized, the method returns without action. return true; } ``` -------------------------------- ### AutoFilterRange Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the range of the AutoFilter. ```csharp public Range? AutoFilterRange { get { return autoFilterRange; } } ``` -------------------------------- ### HandleQueuePlugIns Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/PluginLoader_8cs_source.html Handles the registration of queue plug-ins, sorting them by order. ```C# private static void HandleQueuePlugIns(IEnumerable queuePlugInTypes) { foreach (Type plugInType in queuePlugInTypes) { IEnumerable attributes = plugInType.GetCustomAttributes(); foreach (var attribute in attributes) { if (!queuePlugInClasses.TryGetValue(attribute.QueueUUID, out var value)) { value = new List(); queuePlugInClasses.Add(attribute.QueueUUID, value); } value.Add(new PlugInInstance(attribute.PlugInUUID, attribute.PlugInOrder, plugInType)); } } // Sort each list based on PlugInOrder (ascending) foreach (KeyValuePair> entry in queuePlugInClasses) { entry.Value.Sort((a, b) => a.Order.CompareTo(b.Order)); } } ``` -------------------------------- ### Init Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1MetadataCoreReader.html Initialization method (interface implementation). ```csharp void Init(Stream stream, Workbook workbook, IOptions readerOptions, Action inlinePluginHandler) ``` -------------------------------- ### GetCurrentRowNumber Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the current row number. ```csharp public int GetCurrentRowNumber() { return currentRowNumber; } ``` -------------------------------- ### GetCurrentColumnNumber Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the current column number. ```csharp public int GetCurrentColumnNumber() { return currentColumnNumber; } ``` -------------------------------- ### GetColumn() Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/structNanoXLSX_1_1Address.html Gets the column address (A - XFD). ```C# string NanoXLSX.Address.GetColumn() ``` -------------------------------- ### Init Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1SharedStringsReader.html Initialization method (interface implementation). ```csharp void Init (Stream stream, Workbook workbook, IOptions readerOptions, Action< Stream, Workbook, string, IOptions, int?> inlinePluginHandler) ``` -------------------------------- ### ViewType Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the view type of the worksheet. ```csharp public SheetViewType ViewType { get { return viewType; } } ``` -------------------------------- ### HandleQueuePlugIns Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/XlsxWriter_8cs_source.html Processes a queue of plug-ins, initializing and executing them, and appending their XML content to the appropriate package parts. ```csharp 383 private void HandleQueuePlugIns(string queueUuid) 384 { 385 IPluginWriter queueWriter; 386 string lastUuid = null; 387 do 388 { 389 queueWriter = PlugInLoader.GetNextQueuePlugIn(queueUuid, lastUuid, out string currentUuid); 390 if (queueWriter != null) 391 { 392 queueWriter.Init(this); 393 queueWriter.Execute(); 394 if (queueWriter is IPluginPackageWriter packageWriter) 395 { 396 if (!string.IsNullOrEmpty(packageWriter.PackagePartPath) && !string.IsNullOrEmpty(packageWriter.PackagePartFileName)) 397 { 398 if (packageParts.ContainsKey(packageWriter.PackagePartPath) && packageParts[packageWriter.PackagePartPath].ContainsKey(packageWriter.PackagePartFileName)) 399 { 400 PackagePart pp = packageParts[packageWriter.PackagePartPath][packageWriter.PackagePartFileName]; 401 AppendXmlToPackagePart(packageWriter.XmlElement, pp); 402 } 403 } 404 } 405 lastUuid = currentUuid; 406 } 407 else 408 { 409 lastUuid = null; 410 } 411 412 } while (queueWriter != null); 413 } ``` -------------------------------- ### ActiveStyle Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the active style for the worksheet. ```csharp public Style ActiveStyle { get { return activeStyle; } } ``` -------------------------------- ### SheetName Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets or sets the name of the worksheet. ```csharp public string SheetName { get { return sheetName; } set { SetSheetName(value); } } ``` -------------------------------- ### Package Creation Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/XlsxWriter_8cs_source.html Methods for creating root and XL package parts. ```csharp internal PackagePart CreateRootPackagePart(DocumentPath documentPath, string contentType, string relationshipType) { Uri uri = new Uri(documentPath.GetFullPath(), UriKind.Relative); PackagePart part = this.package.CreatePart(uri, contentType, CompressionOption.Normal); if (!packageParts.ContainsKey(documentPath.Path)) { packageParts.Add(documentPath.Path, new Dictionary()); } packageParts[documentPath.Path].Add(documentPath.Filename, part); this.package.CreateRelationship(uri, TargetMode.Internal, relationshipType, "rId" + ParserUtils.ToString(rootPackageIndex)); rootPackageIndex++; return part; } internal void CreateXlPackagePart(PackagePart parentPart, DocumentPath documentPath, string contentType, string relationshipType) { Uri uri = new Uri(documentPath.GetFullPath(), UriKind.Relative); PackagePart part = this.package.CreatePart(uri, contentType, CompressionOption.Normal); if (!packageParts.ContainsKey(documentPath.Path)) { packageParts.Add(documentPath.Path, new Dictionary()); } packageParts[documentPath.Path].Add(documentPath.Filename, part); parentPart.CreateRelationship(uri, TargetMode.Internal, relationshipType, "rId" + ParserUtils.ToString(xlPackageIndex)); xlPackageIndex++; } ``` -------------------------------- ### IOException Constructors Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Exceptions_1_1IOException.html Demonstrates the different constructors available for the IOException class. ```csharp public IOException () public IOException (string message) public IOException (string message, Exception inner) protected IOException (SerializationInfo info, StreamingContext context) ``` -------------------------------- ### RowHeights Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets a dictionary of row heights. ```csharp public Dictionary RowHeights { get { return rowHeights; } } ``` -------------------------------- ### Theme Constructor Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Themes_1_1Theme.html Constructor with parameters. Using this constructor initialized the Colors property with valid default values. ```csharp Theme(string _name_) ``` -------------------------------- ### Columns Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets a dictionary of column configurations. ```csharp public Dictionary Columns { get { return columns; } } ``` -------------------------------- ### GetHashCode Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/structNanoXLSX_1_1Utils_1_1Xml_1_1XmlAttribute.html Gets the hash code of the attribute. ```csharp override int NanoXLSX.Utils.Xml.XmlAttribute.GetHashCode() ``` -------------------------------- ### HandleReplacingPlugIns Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/PluginLoader_8cs_source.html Handles the registration of replacing plug-ins, managing duplicates based on order. ```C# private static void HandleReplacingPlugIns(IEnumerable plugInTypes) { foreach (Type plugInType in plugInTypes) { IEnumerable attributes = plugInType.GetCustomAttributes(); foreach (NanoXlsxPlugInAttribute attribute in attributes) { if (plugInClasses.ContainsKey(attribute.PlugInUUID)) { if (attribute.PlugInOrder >= plugInClasses[attribute.PlugInUUID].Order) { // Skip duplicates with lower order numbers plugInClasses[attribute.PlugInUUID] = new PlugInInstance(attribute.PlugInUUID, attribute.PlugInOrder, plugInType); } } else if (!plugInClasses.ContainsKey(attribute.PlugInUUID)) { plugInClasses.Add(attribute.PlugInUUID, new PlugInInstance(attribute.PlugInUUID, attribute.PlugInOrder, plugInType)); } } } } ``` -------------------------------- ### Default constructor Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Styles_1_1AppendAttribute.html Default constructor. ```csharp NanoXLSX.Styles.AppendAttribute.AppendAttribute () ``` -------------------------------- ### Type Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/interfaceNanoXLSX_1_1Interfaces_1_1Writer_1_1IPasswordWriter.html Gets the target type of the password. ```csharp PasswordType Type { get; } ``` -------------------------------- ### GetAttributes Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/interfaceNanoXLSX_1_1Interfaces_1_1Writer_1_1IPasswordWriter.html Gets an IEnumerable of XML attributes. ```csharp IEnumerable GetAttributes() ``` -------------------------------- ### PlugInInstance Class Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/PluginLoader_8cs_source.html Internal class to hold plug-in instance details. ```C# private sealed class PlugInInstance { public string UUID { get; private set; } public int Order { get; private set; } public Type Type { get; private set; } internal PlugInInstance(string uuid, int order, Type type) { this.UUID = uuid; this.Order = order; this.Type = type; } } ``` -------------------------------- ### Init Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Reader/classNanoXLSX_1_1Internal_1_1Readers_1_1WorkbookReader.html Initialization method (interface implementation). ```csharp void NanoXLSX.Internal.Readers.WorkbookReader.Init (Stream _stream, Workbook _workbook, IOptions _readerOptions, Action _inlinePluginHandler) ``` -------------------------------- ### GetHashCode Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Colors_1_1SrgbColor.html Gets the hash code of the instance. ```csharp override int GetHashCode () ``` -------------------------------- ### CreateSystem Method Overloads Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Color_8cs_source.html Shows how to create System colors using either a SystemColor object or a SystemColor.Value, with optional tinting. ```csharp public static Color CreateSystem(SystemColor color) { if (color == null) { throw new StyleException("A system color cannot be null"); } return new Color { Type = ColorType.System, SystemColor = color }; } ``` ```csharp public static Color CreateSystem(SystemColor.Value systemColorValue) { return new Color { Type = ColorType.System, SystemColor = new SystemColor(systemColorValue) }; } ``` -------------------------------- ### Style Constructors Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Styles_1_1Style.html Demonstrates the different ways to construct a Style object. ```csharp Style (); // Default constructor. Style (string name); // Constructor with parameters. Style (string name, int forcedOrder, bool internalStyle); // Constructor with parameters (internal use). ``` -------------------------------- ### ActivePane Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the currently active pane when split. ```csharp public WorksheetPane? ActivePane { get { return activePane; } } ``` -------------------------------- ### Initialize Method Signature Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Registry_1_1PlugInLoader.html Signature for the static Initialize method of the PlugInLoader class. ```csharp static bool | Initialize () ``` -------------------------------- ### PaneSplitLeftWidth Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the width of the left pane when split. ```csharp public float? PaneSplitLeftWidth { get { return paneSplitLeftWidth; } } ``` -------------------------------- ### Equals Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Themes_1_1Theme.html Returns whether two instances are the same. ```csharp override bool Equals(object _obj_) ``` -------------------------------- ### PaneSplitTopHeight Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets the height of the top pane when split. ```csharp public float? PaneSplitTopHeight { get { return paneSplitTopHeight; } } ``` -------------------------------- ### SheetProtectionPassword Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets or sets the password for sheet protection. ```csharp public virtual IPassword SheetProtectionPassword { get { return sheetProtectionPassword; } internal set { sheetProtectionPassword = value; } } ``` -------------------------------- ### SystemColor Constructors Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/SystemColor_8cs_source.html Demonstrates the different ways to instantiate a SystemColor object, including default, value-based, and value-with-lastColor initialization. ```csharp public SystemColor() { } public SystemColor(Value value) : this() { ColorValue = value; } public SystemColor(Value value, string lastColor) : this(value) { LastColor = lastColor; } ``` -------------------------------- ### Init Method Signature Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/interfaceNanoXLSX_1_1Interfaces_1_1Reader_1_1IPasswordReader.html Detailed signature and explanation for the Init method of IPasswordReader. ```csharp void NanoXLSX.Interfaces.Reader.IPasswordReader.Init(PasswordType _type_, ReaderOptions _readerOptions_) ``` -------------------------------- ### SelectedCells Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets a list of selected cell ranges. ```csharp public List SelectedCells { get { return selectedCells; } } ``` -------------------------------- ### MergedCells Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets a dictionary of merged cell ranges. ```csharp public Dictionary MergedCells { get { return mergedCells; } } ``` -------------------------------- ### Default constructor Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Exceptions_1_1NotSupportedContentException.html Default constructor. ```csharp NotSupportedContentException () ``` -------------------------------- ### HiddenRows Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/Worksheet_8cs_source.html Gets a dictionary indicating which rows are hidden. ```csharp public Dictionary HiddenRows { get { return hiddenRows; } } ``` -------------------------------- ### InnerValue Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Utils_1_1Xml_1_1XmlElement.html Gets or set the inner value of the element. ```C# string | InnerValue` [get, set]` ``` -------------------------------- ### GetHashCode Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Themes_1_1Theme.html Returns a hash code for this instance. ```csharp override int GetHashCode() ``` -------------------------------- ### Styles Property Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Styles_1_1StyleRepository.html Gets the currently managed styles of the repository. ```csharp Dictionary NanoXLSX.Styles.StyleRepository.Styles [get] ``` -------------------------------- ### HandlePackageRegistryQueuePlugIns Method Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Writer/XlsxWriter_8cs_source.html Handles plug-ins registered in the package registry queue, executing them and determining their package part type. ```csharp 418 private void HandlePackageRegistryQueuePlugIns() 419 { 420 IPluginPackageWriter queueWriter; 421 string lastUuid = null; 422 do 423 { 424 queueWriter = PlugInLoader.GetNextQueuePlugIn(PlugInUUID.WriterPackageRegistryQueue, lastUuid, out string currentUuid); 425 if (queueWriter != null) 426 { 427 queueWriter.Execute(); // Execute anything that could be defined 428 PackagePartType packagePartType; 429 if (queueWriter.IsRootPackagePart) 430 { 431 packagePartType = PackagePartType.Root; 432 } ``` -------------------------------- ### Font Function Source: https://rabanti-github.github.io/NanoXLSX/NanoXLSX.Core/classNanoXLSX_1_1Styles_1_1BasicStyles.html Gets a style with a user defined font. ```C# static Style NanoXLSX.Styles.BasicStyles.Font(string fontName, float fontSize=11f, bool isBold=false, bool isItalic=false) ```