<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GemBox.Spreadsheet</name>
    </assembly>
    <members>
        <member name="T:GemBox.Spreadsheet.NameFormulaToken">
            <summary>
            Formula token for holding the index to a NAME/EXTERNNAME record.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaToken">
            <summary>
            Base formula token class for inheritance
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
            <param name="size">The size.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to bytes representation.
            </summary>
            <returns>bytes representation of the formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaToken.Token">
            <summary>
            Gets the formula token code.
            </summary>
            <value>The formula token code.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaToken.Size">
            <summary>
            Gets the size of the formula token.
            </summary>
            <value>The size of the formula token.</value>
        </member>
        <member name="F:GemBox.Spreadsheet.NameFormulaToken.nameIndex">
            <summary>
            One-based index to ExternName record.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NameFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NameFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NameFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NameFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.ErrFormulaToken">
            <summary>
            Formula token for holding error value.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.#cctor">
            <summary>
            Initializes the <see cref="T:GemBox.Spreadsheet.ErrFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ErrFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ErrFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.BoolFormulaToken">
            <summary>
            Formula token for holding bool.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.BoolFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.BoolFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.BoolFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.BoolFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.BoolFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.BoolFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaFunctionsTable">
            <summary>
            Hold information about all supported functions.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaFunctionsTable.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaFunctionsTable"/> class.
            Constructor is private to allow only creation of FormulaFunctionsTable instances only once.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaFunctionsTable.IsFunction(System.String)">
            <summary>
            Determines whether the specified name is function.
            </summary>
            <param name="name">The name.</param>
            <returns>
            	<c>true</c> if the specified name is function; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionsTable.Instance">
            <summary>
            Gets the static FormulaFunctionsTable instance. Used to be shared between FormulaFunctionsTable' users.
            </summary>
            <value>The singleton FormulaFunctionTable instance.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionsTable.Item(System.UInt16)">
            <summary>
            Gets the <see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> at the specified index.
            </summary>
            <value><see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> instance</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionsTable.Item(System.String)">
            <summary>
            Gets the <see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> at the specified index.
            </summary>
            <value><see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> instance</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionsTable.Names">
            <summary>
            Gets the names of predefined Excel functions.
            </summary>
            <value>The names of prdefined Excel function.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaFunctionInfo">
            <summary>
            Hold information about function( name, code, expected arguments count. )
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FormulaFunctionInfo.VariableArgumentAmountMark">
            <summary>
            Is used to the specify for appropriate functins the variable count of arguments
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FormulaFunctionInfo.argumentsCount">
            <summary>
            Arguments count value, by default it is initilized with not fixed( variable ) argument count mark.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaFunctionInfo.#ctor(System.UInt16,System.String,GemBox.Spreadsheet.FormulaTokenCode,GemBox.Spreadsheet.FormulaTokenClass)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> class.
            </summary>
            <param name="code">The function code.</param>
            <param name="name">The function name.</param>
            <param name="argumentCode">The argument code.</param>
            <param name="returnCode">The return code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaFunctionInfo.#ctor(System.UInt16,System.String,GemBox.Spreadsheet.FormulaTokenCode,GemBox.Spreadsheet.FormulaTokenClass,System.Byte)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaFunctionInfo"/> class.
            </summary>
            <param name="code">The function code.</param>
            <param name="name">The function name.</param>
            <param name="argumentCode">The argument code.</param>
            <param name="returnCode">The return code.</param>
            <param name="argumentsCount">The function's arguments count.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.ArgumentCode">
            <summary>
            Gets or sets the argument code.
            </summary>
            <value>The argument code.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.ReturnCode">
            <summary>
            Gets the return code.
            </summary>
            <value>The return code.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.Code">
            <summary>
            Gets function code.
            </summary>
            <value>The function code.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.ArgumentsCount">
            <summary>
            Arguments count value, by default it is initilized with not fixed( variable ) argument count mark.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.Name">
            <summary>
            Gets function name.
            </summary>
            <value>Function name.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaFunctionInfo.IsFixedArgumentCount">
            <summary>
            Gets a value indicating whether function has fixed argument count.
            </summary>
            <value>
            	<c>true</c> if this function has fixed argument count; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:GemBox.Spreadsheet.CellFormula.Recalculate">
            <summary>
            Recalculate formula based on saved tokens.
            It need to be done for changing some data which can be changed after setting formula
            and before saving xls file.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelPictureCollection">
            <summary>
            Collection of the <seealso cref="T:GemBox.Spreadsheet.ExcelPicture">ExcelPicture</seealso>.
            </summary>	
            <remarks>Suported only in xlsx.</remarks>
            <seealso cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</seealso>
            <example>
Following code demonstrates how to use images. It shows next features: 
<list type="number">
<item> bmp, jpeg loading </item>
<item> bmp, jpeg loading with custom coordinates and dimensions </item>
</list>
<code lang="Visual Basic">
	sheet.Pictures.Add( "Image.bmp" ) 
	sheet.Pictures.Add( "Image.bmp", New Rectangle(10, 50, 100, 100) )
</code>
<code lang="C#">
	sheet.Pictures.Add( "Image.bmp" );
	sheet.Pictures.Add( "Image.bmp", new Rectangle( 10, 50, 100, 100 ) );
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ExcelPictureCollection"/> class.
            </summary>
            <param name="worksheet">The worksheet to initialize with.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.#ctor(GemBox.Spreadsheet.ExcelWorksheet,GemBox.Spreadsheet.ExcelPictureCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ExcelPictureCollection"/> class.
            </summary>
            <param name="worksheet">The worksheet to initialize with.</param>
            <param name="sourcePictures">The collection to initialize with.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.Add(System.String,System.Drawing.Rectangle)">
            <overloads>Adds new <see cref="T:GemBox.Spreadsheet.ExcelPicture"/> object to ExcelPictureCollection.</overloads>
            <summary>
            Adds the image from specified fileName.
            </summary>
            <param name="fileName">The fileName.</param>
            <param name="rect">The destination rectangle.</param>	
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.Add(System.IO.MemoryStream,System.Drawing.Rectangle,GemBox.Spreadsheet.ExcelPictureFormat)">
            <summary>
            Adds image from the image object by using defined rectangle.
            </summary>
            <param name="imageStream">Image stream.</param>
            <param name="rect">Destination rectangle.</param>
            <param name="format">Picture format.</param>	
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.Add(System.String,GemBox.Spreadsheet.PositioningMode,GemBox.Spreadsheet.AnchorCell,GemBox.Spreadsheet.AnchorCell)">
            <summary>
            Adds the image from specified fileName with defined anchor properties.
            </summary>
            <param name="fileName">File name of the image to be added.</param>
            <param name="mode">Positioning mode of the image.</param>
            <param name="topLeftCell">Top left anchor cell.</param>
            <param name="bottomRightCell">Bottom right anchor cell.</param>
            <remarks>If column or row offset is greater then that row height or that column width, excel will show image as that offset is set to 0.</remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.Add(System.IO.MemoryStream,GemBox.Spreadsheet.PositioningMode,GemBox.Spreadsheet.AnchorCell,GemBox.Spreadsheet.AnchorCell,GemBox.Spreadsheet.ExcelPictureFormat)">
            <summary>
            Adds the image with defined anchor properties.
            </summary>
            <param name="imageStream">Stream of the image to be added.</param>
            <param name="mode">Positioning mode of the image.</param>
            <param name="topLeftCell">Top left anchor cell.</param>
            <param name="bottomRightCell">Bottom right anchor cell.</param>
            <param name="format">Picture format.</param>
            <remarks>If column or row offset is greater then that row height or that column width, excel will show image as that offset is set to 0.</remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.Clear">
            <summary>
            Clears ExcelPictureCollection.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.DeleteInternal(System.Int32)">
            <summary>
            Deletes picture at specified index.
            </summary>
            <param name="index">The specified index.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPictureCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/>
            that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPictureCollection.Count">
            <summary>
            Gets the count of pictures items.
            </summary>
            <value>The count of pictures items.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPictureCollection.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:GemBox.Spreadsheet.ExcelPicture"/> at the specified index.
            </summary>
            <value>the <see cref="T:GemBox.Spreadsheet.ExcelPicture"/></value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPictureCollection.Worksheet">
            <summary>
            Gets the worksheet.
            </summary>
            <value>The worksheet.</value>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoBaseRecord.ConvertToBytes(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Converts mso structure' representation to bytes.
            </summary>		
        </member>
        <member name="M:GemBox.Spreadsheet.MsoBaseRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoBaseRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>		
        </member>
        <member name="P:GemBox.Spreadsheet.MsoBaseRecord.Version">
            <summary>
            Get or sets the version if the record is an atom. 
            If the record is a container, this field has a value of 0xFFFF.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.MsoBaseRecord.Instance">
            <summary>
            Gets or setes the instance. Depending on the instance a record's contents 
            it can have different meanings.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.BinaryOperatorFormulaToken">
            <summary>
            Formula token for holding binary operator.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.BinaryOperatorFormulaToken.#cctor">
            <summary>
            Initializes the <see cref="T:GemBox.Spreadsheet.BinaryOperatorFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.BinaryOperatorFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.BinaryOperatorFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.BinaryOperatorFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExportPosition">
            <summary>
            Data that describes the current position in the exporter methods.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.HtmlExportPosition.#ctor(GemBox.Spreadsheet.CellRange,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.ExcelColumn,System.Int32,System.Int32)">
            <summary>
            Creates new HTML export position.
            </summary>
            <param name="range">Cell range.</param>
            <param name="sheetRow">Current sheet row.</param>
            <param name="sheetColumn">Current sheet column.</param>
            <param name="htmlRowIndex">Current HTML row index.</param>
            <param name="htmlColumnIndex">Current HTML column index.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExportPosition.Range">
            <summary>
            Gets the cell range that is exporting to HTML.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExportPosition.SheetRow">
            <summary>
            Gets the current sheet row.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExportPosition.SheetColumn">
            <summary>
            Gets the current sheet column.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExportPosition.HtmlRowIndex">
            <summary>
            Gets row index for the current row in HTML table.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExportPosition.HtmlColumnIndex">
            <summary>
            Gets column index for the current column in HTML table.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions">
            <summary>
            Options and methods that define HTML export behavior.
            </summary>
            <remarks>Other than just properties, exporting process can be handled by user defined methods 
            that can replace any of the default ones. 
            User defined methods are simply passed as delegates.</remarks>
            <example>
Following code demonstrates how to use HtmlExporter. It shows next features:
<list type="number">
  <item> Export excel table (only used range) as HTML table node </item>
  <item> Override DefaultRowToHtml method </item>
</list>
  To export used range of the active worksheet to HTML file use <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveHtml(System.String,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">ExcelFile.SaveHtml</see> method.
<code lang="Visual Basic">
  ' Method that returns xml node from excel file.
  Private Shared Function GetTableNodeFromExcelFile(ByVal fileName As String) As XmlNode
    Dim ef As New ExcelFile
    Dim options As New HtmlExporterOptions

    ef.LoadXlsx(fileName, XlsxOptions.None)

    ' By default grid lines are showed.
    options.ShowGridLines = False

    ' Overrides default MethodRowToHtml by assigning CustomRowToHtml to it.
    ' Default MethodRowToHtml is DefaultHtmlExporter.DefaultRowToHtml.
    ' Any method in exporting process can be overridden this way.
    options.MethodRowToHtml = New RowToHtmlDelegate(AddressOf Program.CustomRowToHtml)

    ' Range that is exporting is set to used range of the first worksheet.
    Dim range As CellRange = ef.Worksheets.Item(0).GetUsedCellRange

    Return DefaultHtmlExporter.DefaultTableToHtml(options, range)
  End Function

  ' Method that exports every row as default one, but for pair rows sets font style to bold.
  Private Shared Function CustomRowToHtml(ByVal options As HtmlExporterOptions, ByVal row As ExcelRow, ByVal range As CellRange, ByVal htmlRowIndex As Integer) As XmlNode
    ' Default method can be called from anywhere, including methods that are overriding default ones.
    Dim rowNode As XmlNode = DefaultHtmlExporter.DefaultRowToHtml(options, row, range, htmlRowIndex)

    If ((htmlRowIndex Mod 2) = 0) Then
      Dim styleAttribute As XmlAttribute = rowNode.Attributes.ItemOf("style")

      ' If style attribute don't exist, new style attribute is created.
      If (styleAttribute Is Nothing) Then
        styleAttribute = options.ExportingXmlDocument.CreateAttribute("style")
        rowNode.Attributes.Append(styleAttribute)
      End If
  
      ' Sets font-weight to bold.
      styleAttribute.Value = (styleAttribute.Value &amp; "font-weight:700;")
    End If
  
    Return rowNode
  End Function
</code>
<code lang="C#">
  // Method that returns xml node from excel file.
  private static XmlNode GetTableNodeFromExcelFile(string fileName)
  {
    ExcelFile ef = new ExcelFile();
    HtmlExporterOptions options = new HtmlExporterOptions();

    ef.LoadXlsx(fileName, XlsxOptions.None);

    // By default grid lines are showed.
    options.ShowGridLines = false;

    // Overrides default MethodRowToHtml by assigning CustomRowToHtml to it.
    // Default MethodRowToHtml is DefaultHtmlExporter.DefaultRowToHtml.
    // Any method in exporting process can be overridden this way.
    options.MethodRowToHtml = CustomRowToHtml;

    // Range that is exporting is set to used range of the first worksheet.
    CellRange range = ef.Worksheets[0].GetUsedCellRange();

    return DefaultHtmlExporter.DefaultTableToHtml(options, range);
  }

  // Method that exports every row as default one, but for pair rows sets font style to bold.
  private static XmlNode CustomRowToHtml(HtmlExporterOptions options, ExcelRow row, CellRange range, int htmlRowIndex)
  {
    // Default method can be called from anywhere, including methods that are overriding default ones.
    XmlNode rowNode = DefaultHtmlExporter.DefaultRowToHtml(options, row, range, htmlRowIndex);

    if (htmlRowIndex % 2 == 0)
    {
      XmlAttribute styleAttribute = rowNode.Attributes["style"];

      // If style attribute don't exist, new style attribute is created.
      if (styleAttribute == null)
      {
        styleAttribute = options.ExportingXmlDocument.CreateAttribute("style");
        rowNode.Attributes.Append(styleAttribute);
      }

      // Sets font-weight to bold.
      styleAttribute.Value += "font-weight:700;";
    }

    return rowNode;
  }
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.HtmlExporterOptions.#ctor">
            <overloads>Creates new HTML exporter options.</overloads>
            <summary>
            Creates new HTML exporter options.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.HtmlExporterOptions.#ctor(System.Xml.XmlDocument)">
            <summary>
            Creates new HTML exporter options with defined xml document.
            </summary>
            <param name="exportingXmlDocument">Xml document used to create xml nodes.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ExportingXmlDocument">
            <summary>
            Gets XmlDocument that is used to create new nodes.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowGridLines">
            <summary>
            If true, grid lines will be exported.
            </summary>
            <remarks>Default value is true.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.CalculateTableWidth">
            <summary>
            Gets or sets the option to calculate table width.
            </summary>
            <remarks>Default value is false.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ExportHiddenRows">
            <summary>
            If true, hidden rows will be exported.
            </summary>
            <remarks>Default value is false.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ExportHiddenColumns">
            <summary>
            If true, hidden columns will be exported.
            </summary>
            <remarks>Default value is false.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowRowNumbers">
            <summary>
            Gets or sets the option to show row numbers in the first column.
            </summary>
            <remarks>Default value is false.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowColumnLetters">
            <summary>
            Gets or sets the option to show column letters in the first row.
            </summary>
            <remarks>Default value is false.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodCellValueToHtml">
            <summary>
            Gets or sets a method that exports cell value to HTML string.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellValueToHtml(GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">DefaultHtmlExporter.DefaultCellValueToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodCellStyleToHtml">
            <summary>
            Gets or sets a method that exports cell style to HTML string.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellStyleToHtml(GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">DefaultHtmlExporter.DefaultCellStyleToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodCellToHtml">
            <summary>
            Gets or sets a method that exports cell to xml node.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">DefaultHtmlExporter.DefaultCellToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodRowNumberToHtml">
            <summary>
            Gets or sets a method that creates xml node with row number cell.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultRowNumberToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.CellRange,System.Int32)">DefaultHtmlExporter.DefaultRowNumberToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodRowToHtml">
            <summary>
            Gets or sets a method that creates xml node for specified excel row.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultRowToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.CellRange,System.Int32)">DefaultHtmlExporter.DefaultRowToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodColumnLetterToHtml">
            <summary>
            Gets or sets a method that creates xml node with column letter cell.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultColumnLetterToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelColumn,System.Int32)">DefaultHtmlExporter.DefaultColumnLetterToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodColumnLettersToHtml">
            <summary>
            Gets or sets a method that creates xml node for row with column letters.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultColumnLettersToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelColumn,GemBox.Spreadsheet.ExcelColumn)">DefaultHtmlExporter.DefaultColumnLettersToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodTableToHtml">
            <summary>
            Gets or sets a method that creates xml node for HTML table from specified cell range.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultTableToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">DefaultHtmlExporter.DefaultTableToHtml</see>.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HtmlExporterOptions.MethodPageToHtml">
            <summary>
            Gets or sets a method that creates xml node for HTML page from specified cell range.
            </summary>
            <remarks>Default method is <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultPageToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">DefaultHtmlExporter.DefaultPageToHtml</see>.</remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.CellValueToHtmlDelegate">
            <summary>
            Delegate for handling export of cell value to string.
            </summary>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.CellStyleToHtmlDelegate">
            <summary>
            Delegate for handling export of cell style to string.
            </summary>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.CellToHtmlDelegate">
            <summary>
            Delegate for handling cell export.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.RowNumberToHtmlDelegate">
            <summary>
            Delegate for handling export of cell that represent row number.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="row">Current excel row.</param>
            <param name="range">Cell range that is been exported.</param>
            <param name="htmlRowIndex">Row index in HTML table.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.RowToHtmlDelegate">
            <summary>
            Delegate for handling export of specified excel row.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="row">Current excel row.</param>
            <param name="range">Cell range that is been exported.</param>
            <param name="htmlRowIndex">Row index in HTML table</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.ColumnLetterToHtmlDelegate">
            <summary>
            Delegate for handling export of cell that represent column letter.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="column">Current excel column.</param>
            <param name="htmlColumnIndex">Column index in HTML table.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.ColumnLettersToHtmlDelegate">
            <summary>
            Delegate for handling export of header row.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="startColumn">Start excel column.</param>
            <param name="endColumn">End excel column.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.TableToHtmlDelegate">
            <summary>
            Delegate for handling export of table for specified range.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="range">Range that is exporting.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.HtmlExporterOptions.PageToHtmlDelegate">
            <summary>
            Delegate for handling export of the whole HTML page.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="range">Range that is exporting.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.DefaultHtmlExporter">
            <summary>
            Default methods for exporting to HTML.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellValueToHtml(GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">
            <summary>
            Returns a string that will be writen as cell value.
            </summary>
            <remarks>If cell value is null, empty string is returned.</remarks>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellStyleToHtml(GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">
            <summary>
            If cell style is not the same as the default one, the default style is overrided with style string.
            </summary>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultCellToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelCell,GemBox.Spreadsheet.HtmlExportPosition)">
            <summary>
            Returns XmlNode with single cell entry.
            </summary>
            <remarks>If the cell is in merge region but not first in exporting region, null is returned.</remarks>
            <param name="options">Options that describe exporting process.</param>
            <param name="cell">Excel cell.</param>
            <param name="position">Current position of the exporting process. It can be null.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultRowNumberToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.CellRange,System.Int32)">
            <summary>
            Returns XmlNode with cell entry for cell that represent row number.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="row">Current excel row.</param>
            <param name="range">Cell range that is been exported.</param>
            <param name="htmlRowIndex">Row index in HTML table.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultRowToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.CellRange,System.Int32)">
            <summary>
            Returns XmlNode with row entry for specified excel row.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="row">Current excel row.</param>
            <param name="range">Cell range that is been exported.</param>
            <param name="htmlRowIndex">Row index in HTML table</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultColumnLetterToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelColumn,System.Int32)">
            <summary>
            Returns XmlNode with cell entry for cell that represent column letter.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="column">Current excel column.</param>
            <param name="htmlColumnIndex">Column index in HTML table.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultColumnLettersToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.ExcelColumn,GemBox.Spreadsheet.ExcelColumn)">
            <summary>
            Returns XmlNode with row entry for header row.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="startColumn">Start excel column.</param>
            <param name="endColumn">End excel column.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultTableToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">
            <summary>
            Returns XmlNode with table entry for specified range.
            </summary>
            <param name="options">Options that describe exporting process.</param>
            <param name="range">Range that is exporting.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultPageToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">
            <summary>
            Returns XmlDocument with page and table entry for specified range.
            </summary>
            <remarks>XmlDocument that is returned by this method is the same XmlDocument that is defined in the 
            <see cref="T:GemBox.Spreadsheet.HtmlExporterOptions">HtmlExporterOptions</see>.</remarks>
            <param name="options">Options that describe exporting process.</param>
            <param name="range">Range that is exporting.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientTextBoxRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientTextBoxRecord.ConvertToBytes(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Converts mso structure' representation to bytes.
            </summary>		
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientTextBoxRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.RefErrFormulaToken">
            <summary>
            Formula token for holding reference error.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.RefFormulaToken">
            <summary>
            Formula token for holding reference.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.ColumnBitMask">
            <summary>
            Bit mask for column options.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.RowBitMask">
            <summary>
            Bit mask for row options.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.regexOptions">
            <summary>
            Regular expression default options
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.IsColumnRegex">
            <summary>
            Regular expression used to determinate whether the input string is column or not
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.IsCellRegex">
            <summary>
            Regular expression used to determinate whether the input string is cell or not
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RefFormulaToken.AbsoluteCellMark">
            <summary>
            Absolute preffix row\height symbol
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.RefFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.RefFormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.RefFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.RefFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.RefFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.RefFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.RefErrFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.RefErrFormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.RefErrFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaTokenType">
            <summary>
            The set of predefined formula token types
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaTokenClass">
            <summary>
            The set of predefined formula token classes
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaTokenCode">
            <summary>
            The set of predefined formula token codes
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.RangeIndexingMode">
            <summary>
            Indexing modes used by <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>.
            </summary>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.IndexingMode"/>
        </member>
        <member name="F:GemBox.Spreadsheet.RangeIndexingMode.Rectangular">
            <summary>
            Rectangular indexing mode. Rectangular cell range is higher than one row and wider than one column.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RangeIndexingMode.Horizontal">
            <summary>
            Horizontal indexing mode. Horizontal cell range has 
            <see cref="P:GemBox.Spreadsheet.CellRange.Height">CellRange.Height</see> equal to 1.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.RangeIndexingMode.Vertical">
            <summary>
            Vertical indexing mode. Vertical cell range has 
            <see cref="P:GemBox.Spreadsheet.CellRange.Width">CellRange.Width</see> equal to 1.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowFormulas">
            <summary>
            If set, MS Excel shows formulas. Otherwise, formula results are shown.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowGridLines">
            <summary>
            If set, MS Excel shows grid lines.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowSheetHeaders">
            <summary>
            If set, MS Excel shows row and column headers.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.FrozenPanes">
            <summary>
            If set, panes are frozen in MS Excel.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowZeroValues">
            <summary>
            If set, MS Excel shows zero values. Otherwise, zero values are shown as empty cells.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.DefaultGridLineColor">
            <summary>
            If set, MS Excel uses default grid line color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ColumnsFromRightToLeft">
            <summary>
            If set, MS Excel shows columns from right to left.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowOutlineSymbols">
            <summary>
            If set, MS Excel shows outline symbols.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.FrozenNoSplit">
            <summary>
            If set, MS Excel removes splits if pane freeze is removed.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.SheetSelected">
            <summary>
            Set if sheet is selected in MS Excel.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.SheetVisible">
            <summary>
            Set if sheet is visible in MS Excel.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.WorksheetWindowOptions.ShowInPageBreakPreview">
            <summary>
            If set, MS Excel shows worksheet in page break preview. Otherwise, normal view is used.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtDgRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtDgRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoBitmapPictureRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoBitmapPictureRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.UnaryOperatorFormulaToken">
            <summary>
            Formula token for holding unary operator.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.UnaryOperatorFormulaToken.#cctor">
            <summary>
            Initializes the <see cref="T:GemBox.Spreadsheet.UnaryOperatorFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.UnaryOperatorFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.UnaryOperatorFormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.UnaryOperatorFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.ExternsheetRecord">
            <summary>
            Externsheet record for holding information REF' structures
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExternsheetRecord.#ctor(System.Int32,System.IO.BinaryReader,GemBox.Spreadsheet.AbsXLSRec,GemBox.Spreadsheet.IoOperationInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ExternsheetRecord"/> class.
            </summary>
            <param name="bodyLength">Length of the body.</param>
            <param name="br">The binary reader to read from.</param>
            <param name="previousRecord">The previous record.</param>
            <param name="operationInfo">Current operation information.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExternsheetRecord.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ExternsheetRecord"/> class.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExternsheetRecord.SheetIndexes">
            <summary>
            Gets the sheet indexes.
            </summary>
            <value>The sheet indexes.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.SheetIndexes">
            <summary>
            SheetIndexes structure for storing index to SupBook record
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SheetIndexes.sheetIndex">
            <summary>
            Index to first/last sheet
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SheetIndexes.#ctor(System.UInt16)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.SheetIndexes"/> class.
            </summary>		
            <param name="sheetIndex">The first/last sheet index.</param>				
        </member>
        <member name="M:GemBox.Spreadsheet.SheetIndexes.#ctor(System.IO.BinaryReader)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.SheetIndexes"/> class.
            </summary>
            <param name="br">The binary reader to read from.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SheetIndexes.Write(System.IO.BinaryWriter)">
            <summary>
            Writes the REF' data to the specified binary writer.
            </summary>
            <param name="bw">The destination binary writer.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetIndexes.SheetIndex">
            <summary>
            Gets or sets the first/last sheet index.
            </summary>
            <value>The first/last sheet index.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetIndexes.Size">
            <summary>
            Gets the size of REF' storage.
            </summary>
            <value>The size of REF' storage.</value>
        </member>
        <member name="M:GemBox.Spreadsheet.XLSFileWriter.WriteMSODrawingIfNeeded(GemBox.Spreadsheet.AbsXLSRecords)">
            <summary>
            Writes the MSO drawing if needed.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.XLSFileWriter.HasShapes">
            <summary>
            Gets a value indicating whether this instance has shapes.
            </summary>
            <value>
            	<c>true</c> if this instance has shapes; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="F:GemBox.Spreadsheet.FormulaParser.boolList">
            <summary>
            List of allowed values for boolean primitive type
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaParser"/> class.
            </summary>
            <param name="sheet">The excel worksheet.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.Parse(System.String)">
            <summary>
            Parses the specified string formula.
            </summary>
            <param name="formula">The string formula.</param>
            <returns>formula token array</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.AddToken(GemBox.Spreadsheet.FormulaToken)">
            <summary>
            Adds the token to the result list.
            </summary>
            <param name="token">The token to be added.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.AddToken(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Adds the token to the result list.
            </summary>
            <param name="code">The code of the token to be added.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.AddToken(GemBox.Spreadsheet.FormulaTokenCode,System.Object)">
            <summary>
            Adds the token to the result list.
            </summary>
            <param name="code">The code of the token to be added.</param>
            <param name="data">The data to be used as the input for formula token delay initialization.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaParser.AddToken(GemBox.Spreadsheet.FormulaTokenCode,System.Object[])">
            <summary>
            Adds the token to the result list.
            </summary>
            <param name="code">The code of the token to be added.</param>
            <param name="data">The array of data to be used as the input for formula token delay initialization.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelCell">
            <summary>
            Excel cell provides access to a single worksheet cell or to a merged range if the cell is merged.
            </summary>
            <remarks>
            <p>Merged range is created by using <see cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</see> property. 
            See the property documentation for more information on merging.</p>
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.MergedRange"/>
        </member>
        <member name="T:GemBox.Spreadsheet.AbstractRange">
            <summary>
            Base class for classes representing one or more excel cells.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.AbstractRange.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Internal.
            </summary>
            <param name="parent"></param>
            <exclude/>
        </member>
        <member name="M:GemBox.Spreadsheet.AbstractRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">
            <summary>
            Sets borders on one or more excel cells, taking cell position into account.
            </summary>
            <param name="multipleBorders">Borders to set.</param>
            <param name="lineColor">Line color.</param>
            <param name="lineStyle">Line style.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.AbstractRange.Comment">
            <summary>
            Gets is sets comment
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AbstractRange.Formula">
            <summary>
            Gets or sets formula string.
            </summary>		
        </member>
        <member name="P:GemBox.Spreadsheet.AbstractRange.Value">
            <summary>
            Gets or sets cell value on one or more excel cells.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AbstractRange.Style">
            <summary>
            Gets or sets cell style (<see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see>) on one or more excel cells.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AbstractRange.IsStyleDefault">
            <summary>
            Returns <b>true</b> if all cells in <see cref="T:GemBox.Spreadsheet.AbstractRange">AbstractRange</see> have default 
            cell style; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelCell.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">
            <summary>
            Sets borders on this cell or on merged range if this cell is merged.
            </summary>
            <param name="multipleBorders">Borders to set.</param>
            <param name="lineColor">Line color.</param>
            <param name="lineStyle">Line style.</param>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.MergedRange"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelCell.ConvertExcelNumberToDateTime(System.Double,System.Boolean)">
            <summary>
            Converts Excel floating-point number to <see cref="T:System.DateTime">DateTime</see> structure.
            </summary>
            <remarks>
            <p>
            Excel file format doesn't have a separate data type for date and time. 
            <see cref="T:System.DateTime">DateTime</see> value is
            stored as IEEE number encoded in a special way. When reading Excel file, 
            <see cref="P:GemBox.Spreadsheet.CellStyle.NumberFormat">CellStyle.NumberFormat</see> is examined and if it matches 
            some of date/time number formats cell value is interpreted as <see cref="T:System.DateTime">DateTime</see>.</p>
            <p>However, if some non-standard date/time number format is used, cell value will not be recognized 
            as <see cref="T:System.DateTime">DateTime</see> but as ordinary number. In such cases (when you know that
            specific cell holds <see cref="T:System.DateTime">DateTime</see> value but you get a number when reading
            Excel file) use this method to convert IEEE number to <see cref="T:System.DateTime">DateTime</see> 
            structure.</p>
            </remarks>
            <param name="num">Excel floating-point number.</param>
            <param name="use1904DateSystem">True to use 1904 date system.</param>
            <returns>Converted DateTime structure.</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.Value">
            <summary>
            Gets or sets value of this cell or of merged range if this cell is merged.
            </summary>
            <remarks>
            <p>Exception is thrown if value for the set is not of supported type (See 
            <see cref="M:GemBox.Spreadsheet.ExcelFile.SupportsType(System.Type)">ExcelFile.SupportsType</see> for details).</p>
            <p>Note that the fact some type is supported doesn't mean it is written to Excel file in the native format. As
            Microsoft Excel has just few basic types, the object of supported type will be converted to a similar excel type. 
            If similar excel type doesn't exist, value is written as a string value.</p>
            <p>If the value of this property is of <see cref="T:System.DateTime">DateTime</see> type and 
            <see cref="P:GemBox.Spreadsheet.ExcelCell.Style">Style</see> number format is not set, ISO date/time 
            format will be used as <see cref="P:GemBox.Spreadsheet.CellStyle.NumberFormat">CellStyle.NumberFormat</see> 
            value.</p>
            </remarks>
            <exception cref="T:System.NotSupportedException">Thrown for unsupported types.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.MergedRange"/>
            <seealso cref="M:GemBox.Spreadsheet.ExcelFile.SupportsType(System.Type)">ExcelFile.SupportsType</seealso>
            <seealso cref="P:GemBox.Spreadsheet.CellStyle.NumberFormat">CellStyle.NumberFormat</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.Style">
            <summary>
            Gets or sets cell style (<see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see>) of this cell or 
            of merged range if this cell is merged.
            </summary>
            <remarks>
            Unset style properties will be inherited from corresponding row or column. See
            <see cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</see>
            for more details.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.MergedRange"/>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.IsStyleDefault">
            <summary>
            Returns <b>true</b> if style is default; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.MergedRange">
            <summary>
            Returns associated merged range if the cell is merged; otherwise, <b>null</b>.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged">CellRange.Merged</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.Formula">
            <summary>
            Gets or sets cell formula string.
            </summary>
            <remarks>
            <p>GemBox.Spreadsheet can read and write formulas, but cannot calculate formula results. When you 
            open a XLS file in MS Excel, formula results will be calculated automatically.</p>
            <p>Old XLS format requires all formulas to be parsed and saved to XLS files as special
            tokens in RPN (Reverse Polish notation). GemBox.Spreadsheet only knows how to parse limited
            set of formulas listed below.</p>
            <p>New XLSX (Open XML) format stores formulas as strings and leaves formula parsing to applications
            that read XLSX documents. Therefore, ALL formulas are supported when writing/reading XLSX files.</p>
            <p>Depending on <see cref="P:GemBox.Spreadsheet.ExcelFile.DelayFormulaParse">
            ExcelFile.DelayFormulaParse</see> property, formula string can be parsed when this property is set
            or when one of <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.String)">
            ExcelFile.SaveXls</see> methods is called.</p>
            <p>GemBox.Spreadsheet formula parser will use English culture to parse numbers.</p>
            <p>Currently supported formula features by GemBox.Spreadsheet formula parser are:
            <list type="bullet">
            <item><description>Named cell</description></item>
            <item><description>Named range</description></item>
            <item><description>Absolute cell/range</description></item>
            <item><description>Relative cell/range</description></item>
            <item><description>Functions( partly, see the list of supported functions below )</description></item>
            <item><description>Missed argument</description></item>
            <item><description>Unary operator</description></item>
            <item><description>Binary operator</description></item>
            <item><description>Parentheses</description></item>
            <item><description>3d cell reference</description></item>
            <item><description>3d cell range reference</description></item>
            <item><description>Boolean</description></item>
            <item><description>Integer</description></item>
            <item><description>Float</description></item>
            <item><description>String</description></item>
            <item><description>Error</description></item>
            </list>
            </p>
            <p>
            Currently unsupported formula features are:
            <list type="bullet">
            <item><description>Const array</description></item>
            <item><description>Array formula</description></item>
            <item><description>R1C1 reference</description></item>
            </list>
            </p>
            <p>
            Currently supported functions are:
            <list type="bullet">
            <item><description>NOW</description></item>
            <item><description>SECOND</description></item>
            <item><description>MINUTE</description></item>
            <item><description>HOUR</description></item>
            <item><description>WEEKDAY</description></item>
            <item><description>YEAR</description></item>
            <item><description>MONTH</description></item>
            <item><description>DAY</description></item>
            <item><description>TIME</description></item>
            <item><description>DATE</description></item>
            <item><description>RAND</description></item>
            <item><description>TEXT</description></item>
            <item><description>VAR</description></item>
            <item><description>MOD</description></item>
            <item><description>NOT</description></item>
            <item><description>OR</description></item>
            <item><description>AND</description></item>
            <item><description>FALSE</description></item>
            <item><description>TRUE</description></item>
            <item><description>VALUE</description></item>
            <item><description>LEN</description></item>
            <item><description>MID</description></item>
            <item><description>ROUND</description></item>
            <item><description>SIGN</description></item>
            <item><description>INT</description></item>
            <item><description>ABS</description></item>
            <item><description>LN</description></item>
            <item><description>EXP</description></item>
            <item><description>SQRT</description></item>
            <item><description>PI</description></item>
            <item><description>COS</description></item>
            <item><description>SIN</description></item>
            <item><description>COLUMN</description></item>
            <item><description>ROW</description></item>
            <item><description>MAX</description></item>
            <item><description>MIN</description></item>
            <item><description>AVERAGE</description></item>
            <item><description>SUM</description></item>
            <item><description>IF</description></item>
            <item><description>COUNT</description></item>
            <item><description>SUBTOTAL</description></item>
            </list>
            </p>
            <p>
            For more information on formulas, consult Microsoft Excel documentation.
            </p>
            </remarks>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="M:GemBox.Spreadsheet.NamedRangeCollection.Add(System.String,GemBox.Spreadsheet.CellRange)">
            NamedRangeCollection.Add</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.Comment">
            <summary>
            Gets or sets cell comment.
            </summary>
            <remarks>
            <p>
            You can set comment text, set whether comment will be visible during loading xls file or not.
            Additinally you can get column or row of the excel cell to which this comment is assigned.
            </p>
            <p>
            Suported only in xlsx.
            </p>
            </remarks>
            <example>
Following code demonstrates how to use comments. It shows next features: 
<list type="number">
<item> comment text setting </item>
<item> comment' IsVisible property in action </item>
</list>
<code lang="Visual Basic">		
	excelFile.Worksheets(0).Cells(0, 0).Comment.Text = "comment1" 
	excelFile.Worksheets(0).Cells(0, 0).Comment.IsVisible = False
</code>
<code lang="C#">
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.Text = "comment1";
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.IsVisible = false;
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.Hyperlink">
            <summary>
            Gets or sets cell hyperlink.
            </summary>
            <remarks>Suported only in xlsx.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCell.HasHyperlink">
            <summary>
            If cell has hyperlink returns true, else returns false.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelCellCollection">
            <summary>
            Collection of excel cells (<see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see>).
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelCell"/>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase">
            <summary>
            Base class for row, column and cell collections.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Internal.
            </summary>
            <param name="parent"></param>
            <exclude/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase.GetEnumerator">
            <summary>
            Returns an enumerator for the <see cref="T:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase">
            ExcelRowColumnCellCollectionBase</see>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase.Items">
            <summary>
            Internal.
            </summary>
            <exclude/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRowColumnCellCollectionBase.Count">
            <summary>
            Gets the number of currently allocated elements (dynamically changes when worksheet is modified).
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelCellCollection.Item(System.Int32)">
            <summary>
            Gets the cell with the specified index.
            </summary>
            <param name="index">The zero-based index of the cell.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelColumnRowBase">
            <summary>
            Base class for the excel column and row classes.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumnRowBase.#ctor(GemBox.Spreadsheet.ExcelRowColumnCollectionBase,System.Int32)">
            <summary>
            Internal.
            </summary>
            <param name="parent"></param>
            <param name="index"></param>
            <exclude/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumnRowBase.#ctor(GemBox.Spreadsheet.ExcelRowColumnCollectionBase,GemBox.Spreadsheet.ExcelColumnRowBase)">
            <summary>
            Internal. Copy constructor.
            </summary>
            <param name="parent"></param>
            <param name="source"></param>
            <exclude/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.Index">
            <summary>
            Gets the index.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.Style">
            <summary>
            Gets or sets cell style (<see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see>) for contained cells.
            </summary>
            <remarks>
            Setting this property will not directly change <see cref="P:GemBox.Spreadsheet.ExcelCell.Style">ExcelCell.Style</see>. 
            Instead, this style will be used in resolving process when writing Excel file. See 
            <see cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</see>
            for details.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.IsStyleDefault">
            <summary>
            Returns <b>true</b> if style is default; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.Collapsed">
            <summary>
            Gets or sets whether object is collapsed in outlining.
            </summary>
            <example> Following code creates two horizontal groups and one vertical group. Horizontal groups have 
outline button above (default is below), while vertical group is collapsed.
<code lang="Visual Basic">
    Sub GroupingSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Grouping and outline example:"

        <font color="Green">' Vertical grouping.</font>
        ws.Cells(2, 0).Value = "GroupA Start"
        ws.Rows(2).OutlineLevel = 1
        ws.Cells(3, 0).Value = "A"
        ws.Rows(3).OutlineLevel = 1
        ws.Cells(4, 1).Value = "GroupB Start"
        ws.Rows(4).OutlineLevel = 2
        ws.Cells(5, 1).Value = "B"
        ws.Rows(5).OutlineLevel = 2
        ws.Cells(6, 1).Value = "GroupB End"
        ws.Rows(6).OutlineLevel = 2
        ws.Cells(7, 0).Value = "GroupA End"
        ws.Rows(7).OutlineLevel = 1
        <font color="Green">' Put outline row buttons above groups.</font>
        ws.ViewOptions.OutlineRowButtonsBelow = False

        <font color="Green">' Horizontal grouping (collapsed).</font>
        ws.Cells("E2").Value = "Gr.C Start"
        ws.Columns("E").OutlineLevel = 1
        ws.Columns("E").Collapsed = True
        ws.Cells("F2").Value = "C"
        ws.Columns("F").OutlineLevel = 1
        ws.Columns("F").Collapsed = True
        ws.Cells("G2").Value = "Gr.C End"
        ws.Columns("G").OutlineLevel = 1
        ws.Columns("G").Collapsed = True
    End Sub
</code>
<code lang="C#">
	static void GroupingSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Grouping and outline example:";

		<font color="Green">// Vertical grouping.</font>
		ws.Cells[2,0].Value = "GroupA Start";
		ws.Rows[2].OutlineLevel = 1;
		ws.Cells[3,0].Value = "A";
		ws.Rows[3].OutlineLevel = 1;
		ws.Cells[4,1].Value = "GroupB Start";
		ws.Rows[4].OutlineLevel = 2;
		ws.Cells[5,1].Value = "B";
		ws.Rows[5].OutlineLevel = 2;
		ws.Cells[6,1].Value = "GroupB End";
		ws.Rows[6].OutlineLevel = 2;
		ws.Cells[7,0].Value = "GroupA End";
		ws.Rows[7].OutlineLevel = 1;
		<font color="Green">// Put outline row buttons above groups.</font>
		ws.ViewOptions.OutlineRowButtonsBelow = false;

		<font color="Green">// Horizontal grouping (collapsed).</font>
		ws.Cells["E2"].Value = "Gr.C Start";
		ws.Columns["E"].OutlineLevel = 1;
		ws.Columns["E"].Collapsed = true;
		ws.Cells["F2"].Value = "C";
		ws.Columns["F"].OutlineLevel = 1;
		ws.Columns["F"].Collapsed = true;
		ws.Cells["G2"].Value = "Gr.C End";
		ws.Columns["G"].OutlineLevel = 1;
		ws.Columns["G"].Collapsed = true;
	}
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.OutlineLevel"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.OutlineLevel">
            <summary>
            Gets or sets outline level.
            </summary>
            <remarks>
            <p>Exception is thrown if value is out of 0 to 7 range.</p>
            <p>Using this property you can create hierarchical groups. Range of consecutive objects (rows or columns) 
            with the same value of outline level belongs to the same group. Default value is zero, which prevents grouping.
            <see cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.Collapsed">Collapsed</see> property determines whether group 
            is collapsed or expanded in outlining.</p>
            </remarks>
            <example> Following code creates two horizontal groups and one vertical group. Horizontal groups have 
outline button above (default is below), while vertical group is collapsed.
<code lang="Visual Basic">
    Sub GroupingSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Grouping and outline example:"

        <font color="Green">' Vertical grouping.</font>
        ws.Cells(2, 0).Value = "GroupA Start"
        ws.Rows(2).OutlineLevel = 1
        ws.Cells(3, 0).Value = "A"
        ws.Rows(3).OutlineLevel = 1
        ws.Cells(4, 1).Value = "GroupB Start"
        ws.Rows(4).OutlineLevel = 2
        ws.Cells(5, 1).Value = "B"
        ws.Rows(5).OutlineLevel = 2
        ws.Cells(6, 1).Value = "GroupB End"
        ws.Rows(6).OutlineLevel = 2
        ws.Cells(7, 0).Value = "GroupA End"
        ws.Rows(7).OutlineLevel = 1
        <font color="Green">' Put outline row buttons above groups.</font>
        ws.ViewOptions.OutlineRowButtonsBelow = False

        <font color="Green">' Horizontal grouping (collapsed).</font>
        ws.Cells("E2").Value = "Gr.C Start"
        ws.Columns("E").OutlineLevel = 1
        ws.Columns("E").Collapsed = True
        ws.Cells("F2").Value = "C"
        ws.Columns("F").OutlineLevel = 1
        ws.Columns("F").Collapsed = True
        ws.Cells("G2").Value = "Gr.C End"
        ws.Columns("G").OutlineLevel = 1
        ws.Columns("G").Collapsed = True
    End Sub
</code>
<code lang="C#">
	static void GroupingSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Grouping and outline example:";

		<font color="Green">// Vertical grouping.</font>
		ws.Cells[2,0].Value = "GroupA Start";
		ws.Rows[2].OutlineLevel = 1;
		ws.Cells[3,0].Value = "A";
		ws.Rows[3].OutlineLevel = 1;
		ws.Cells[4,1].Value = "GroupB Start";
		ws.Rows[4].OutlineLevel = 2;
		ws.Cells[5,1].Value = "B";
		ws.Rows[5].OutlineLevel = 2;
		ws.Cells[6,1].Value = "GroupB End";
		ws.Rows[6].OutlineLevel = 2;
		ws.Cells[7,0].Value = "GroupA End";
		ws.Rows[7].OutlineLevel = 1;
		<font color="Green">// Put outline row buttons above groups.</font>
		ws.ViewOptions.OutlineRowButtonsBelow = false;

		<font color="Green">// Horizontal grouping (collapsed).</font>
		ws.Cells["E2"].Value = "Gr.C Start";
		ws.Columns["E"].OutlineLevel = 1;
		ws.Columns["E"].Collapsed = true;
		ws.Cells["F2"].Value = "C";
		ws.Columns["F"].OutlineLevel = 1;
		ws.Columns["F"].Collapsed = true;
		ws.Cells["G2"].Value = "Gr.C End";
		ws.Columns["G"].OutlineLevel = 1;
		ws.Columns["G"].Collapsed = true;
	}
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.Collapsed"/>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is out of 0 to 7 range.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnRowBase.Hidden">
            <summary>
            Gets or sets whether excel object is hidden.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelRow">
            <summary>
            Excel row contains row options and cell range with row cells.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelColumn"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRow.Delete">
            <summary>
            Deletes this row from the worksheet.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRow.InsertEmpty(System.Int32)">
            <summary>
            Inserts specified number of empty rows before the current row.
            </summary>
            <param name="rowCount">Number of rows to insert.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRow.InsertCopy(System.Int32,GemBox.Spreadsheet.ExcelRow)">
            <summary>
            Inserts specified number of copied rows before the current row.
            </summary>
            <param name="rowCount">Number of rows to insert.</param>
            <param name="sourceRow">Source row to copy.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRow.AutoFit">
            <summary>
            Automatically fits row height to the minimum size required for all lines in the row cells to be visible.
            </summary>
            <remarks>
            <p>Auto-fit row height is a MS Excel feature and not a file format feature. When rows are
            auto-fit in MS Excel user interface, MS Excel will calculate current character heights and 
            set row height to the new numeric value.</p>
            <p>This method will set <see cref="P:GemBox.Spreadsheet.ExcelRow.Height">Height</see> to the approximate 
            value (maxLinesCount * 255).</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRow.Cells">
            <summary>
            Gets cell range with row cells.
            </summary>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelRow.AllocatedCells"/>
            <seealso cref="T:GemBox.Spreadsheet.ExcelCell"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRow.AllocatedCells">
            <summary>
            Gets only currently allocated cells for this row.
            </summary>
            <remarks>
            <p>Use this collection if you are reading entire Excel file (you don't know exact position of 
            cells with data). If writing values, using <see cref="P:GemBox.Spreadsheet.ExcelRow.Cells">Cells</see>
            property is recommended.</p>
            <p>This collection contains only allocated cells so it is faster as you avoid  
            checking every single cell in a row. You still need to check if a specific cell contains 
            any value (it can be empty).</p>
            </remarks>
            <example> Following code reads entire XLS file and displays all cells containing any data. 
Data types are also displayed. 
<code lang="Visual Basic">
	Dim ef As New ExcelFile
	Dim sheet As ExcelWorksheet
	Dim row As ExcelRow
	Dim cell As ExcelCell

	ef.LoadXls("..\TestWorkbook.xls")

	For Each sheet In ef.Worksheets
		Console.WriteLine("--------- {0} ---------", sheet.Name)

		For Each row In sheet.Rows
			For Each cell In row.AllocatedCells
				If Not cell.Value Is Nothing Then
					Console.Write("{0}({1})", cell.Value, cell.Value.GetType().Name)
				End If

				Console.Write(vbTab)
			Next

			Console.WriteLine()
		Next
	Next
</code>
<code lang="C#">
	ExcelFile ef = new ExcelFile();
	ef.LoadXls("..\\..\\TestWorkbook.xls");

	foreach(ExcelWorksheet sheet in ef.Worksheets)
	{
		Console.WriteLine("--------- {0} ---------", sheet.Name);

		foreach(ExcelRow row in sheet.Rows)
		{
			foreach(ExcelCell cell in row.AllocatedCells)
			{
				if(cell.Value != null)
					Console.Write("{0}({1})", cell.Value, cell.Value.GetType().Name);

				Console.Write("\t");
			}

			Console.WriteLine();
		}
	}
</code> 
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelRow.Cells"/>
            <seealso cref="T:GemBox.Spreadsheet.ExcelCell"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRow.Height">
            <summary>
            Gets or sets row height.
            </summary>
            <remarks>
            Unit is twip (1/20th of a point).
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelRowColumnCollectionBase">
            <summary>
            Base class for row and column collections.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRowColumnCollectionBase.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Internal.
            </summary>
            <param name="parent"></param>
            <exclude/>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelRowCollection">
            <summary>
            Collection of excel rows (<see cref="T:GemBox.Spreadsheet.ExcelRow">ExcelRow</see>).
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelRow"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRowCollection.RowNameToIndex(System.String)">
            <summary>
            Converts row name ("1", "2", ...) to row index (0, 1, ...).
            </summary>
            <param name="name">Row name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelRowCollection.RowIndexToName(System.Int32)">
            <summary>
            Converts row index (0, 1, ...) to row name ("1", "2", ...).
            </summary>
            <param name="rowIndex">Row index.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRowCollection.Item(System.Int32)">
            <overloads>Gets the row with the specified index or name.</overloads>
            <summary>
            Gets the row with the specified index.
            </summary>
            <param name="index">The zero-based index of the row.</param>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelRowCollection.Item(System.String)">
            <summary>
            Gets the row with the specified name.
            </summary>
            <param name="name">The name of the row.</param>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelColumn">
            <summary>
            Excel column contains column options and cell range with column cells.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelRow"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumn.AutoFit">
            <summary>
            Automatically fits column width to the minimum size required for all data in the column to be visible.
            </summary>
            <remarks>
            <p>Auto-fit column width is a MS Excel feature and not a file format feature. When columns are
            auto-fit in MS Excel user interface, MS Excel will calculate current character widths and 
            set column width to the new numeric value.</p>
            <p>This method will set <see cref="P:GemBox.Spreadsheet.ExcelColumn.Width">Width</see> to the approximate 
            value (maxCharCount * 340).</p>
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumn.Delete">
            <summary>
            Deletes this column from the worksheet.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumn.InsertEmpty(System.Int32)">
            <summary>
            Inserts specified number of empty columns before the current column.
            </summary>
            <param name="columnCount">Number of columns to insert.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumn.InsertCopy(System.Int32,GemBox.Spreadsheet.ExcelColumn)">
            <summary>
            Inserts specified number of copied columns before the current column.
            </summary>
            <param name="columnCount">Number of columns to insert.</param>
            <param name="sourceColumn">Source column to copy.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumn.Cells">
            <summary>
            Gets cell range with column cells.
            </summary>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
            <seealso cref="T:GemBox.Spreadsheet.ExcelCell"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumn.Width">
            <summary>
            Gets or sets column width.
            </summary>
            <remarks>
            Unit is 1/256th of the width of the zero character in default font.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelWorksheet.DefaultColumnWidth"/>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelColumnCollection">
            <summary>
            Collection of excel columns (<see cref="T:GemBox.Spreadsheet.ExcelColumn">ExcelColumn</see>).
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelColumn"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumnCollection.ColumnNameToIndex(System.String)">
            <summary>
            Converts column name ("A", "B", ...) to column index (0, 1, ...).
            </summary>
            <param name="name">Column name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelColumnCollection.ColumnIndexToName(System.Int32)">
            <summary>
            Converts column index (0, 1, ...) to column name ("A", "B", ...).
            </summary>
            <param name="columnIndex">Column index.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnCollection.Item(System.Int32)">
            <overloads>Gets the column with the specified index or name.</overloads>
            <summary>
            Gets the column with the specified index.
            </summary>
            <param name="index">The zero-based index of the column.</param>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelColumnCollection.Item(System.String)">
            <summary>
            Gets the column with the specified name.
            </summary>
            <param name="name">The name of the column.</param>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
        </member>
        <member name="T:GemBox.Spreadsheet.PageBreak">
            <summary>
            Base class for all page breaks.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.HorizontalPageBreak">
            <summary>
            Specifies a horizontal position where the new page begins when the worksheet is printed.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HorizontalPageBreak.Row">
            <summary>
            Index of the first row of the new page.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.HorizontalPageBreak.FirstColumn">
            <summary>
            Index of the first column of the new page.
            </summary>
            <remarks>
            Use 0 (first column) if you don't care.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.HorizontalPageBreak.LastColumn">
            <summary>
            Index of the last column of the new page.
            </summary>
            <remarks>
            Use 255 (last column) if you don't care.
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.VerticalPageBreak">
            <summary>
            Specifies a vertical position where the new page begins when the worksheet is printed.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.VerticalPageBreak.Column">
            <summary>
            Index of the first column of the new page.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.VerticalPageBreak.FirstRow">
            <summary>
            Index of the first row of the new page.
            </summary>
            <remarks>
            Use 0 (first row) if you don't care.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.VerticalPageBreak.LastRow">
            <summary>
            Index of the last row of the new page.
            </summary>
            <remarks>
            Use 65535 (last row) if you don't care.
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.PageBreakCollection">
            <summary>
            Base class for page break collections.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.PageBreakCollection.Clear">
            <summary>
            Removes all page breaks. 
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.PageBreakCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the page break at the specified index.
            </summary>
            <param name="index">The zero-based index of the page break to remove.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.PageBreakCollection.GetEnumerator">
            <summary>
            Returns an enumerator for the collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.PageBreakCollection.Count">
            <summary>
            Gets the number of page breaks contained in the collection. 
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.HorizontalPageBreakCollection">
            <summary>
            Collection of horizontal page breaks (<see cref="T:GemBox.Spreadsheet.HorizontalPageBreak">HorizontalPageBreak</see>).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.HorizontalPageBreakCollection.Add(System.Int32)">
            <overloads>Ads a new horizontal page break.</overloads>
            <summary>
            Ads a new horizontal page break above the specified row.
            </summary>
            <param name="row">The zero-based index of the row.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.HorizontalPageBreakCollection.Add(System.Int32,System.Int32,System.Int32)">
            <summary>
            Ads a new horizontal page break above the specified row and within specified columns.
            </summary>
            <param name="row">The zero-based index of the row.</param>
            <param name="firstColumn">The zero-based index of the first column.</param>
            <param name="lastColumn">The zero-based index of the last column.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.HorizontalPageBreakCollection.Item(System.Int32)">
            <summary>
            Gets or sets the horizontal page break at the specified index.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.VerticalPageBreakCollection">
            <summary>
            Collection of vertical page breaks (<see cref="T:GemBox.Spreadsheet.VerticalPageBreak">VerticalPageBreak</see>).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.VerticalPageBreakCollection.Add(System.Int32)">
            <overloads>Ads a new vertical page break.</overloads>
            <summary>
            Ads a new vertical page break left to the specified column.
            </summary>
            <param name="column">The zero-based index of the column.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.VerticalPageBreakCollection.Add(System.Int32,System.Int32,System.Int32)">
            <summary>
            Ads a new vertical page break left to the specified column and within specified rows.
            </summary>
            <param name="column">The zero-based index of the column.</param>
            <param name="firstRow">The zero-based index of the first row.</param>
            <param name="lastRow">The zero-based index of the last row.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.VerticalPageBreakCollection.Item(System.Int32)">
            <summary>
            Gets or sets the vertical page break at the specified index.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.SpreadsheetHyperlink">
            <summary>
            Hyperlink class.
            </summary>
            <remarks>Suported only in xlsx.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.SpreadsheetHyperlink.IsExternal">
            <summary>
            Defines if hyperlink location is in this excel file.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SpreadsheetHyperlink.ToolTip">
            <summary>
            Gets or sets ToolTip for hyperlink.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SpreadsheetHyperlink.Location">
            <summary>
            Gets or sets the location string for hyperlink.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection">
            <summary>
            Collection of hyperlinks (<see cref="T:GemBox.Spreadsheet.SpreadsheetHyperlink">SpreadsheetHyperlink</see>).
            </summary>
            <remarks>Suported only in xlsx.</remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.Add(GemBox.Spreadsheet.SpreadsheetHyperlink)">
            <summary>
            Adds hyperlink to collection.
            </summary>
            <param name="hyperlink">Hyperlink to add.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.Clear">
            <summary>
            Removes all hyperlinks. 
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the SpreadsheetHyperlink at the specified index.
            </summary>
            <param name="index">The zero-based index of the page break to remove.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.DeleteInternal(GemBox.Spreadsheet.SpreadsheetHyperlink)">
            <summary>
            Deletes specified hyperlink.
            </summary>
            <param name="hyperlink">Hyperlink to delete.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.GetEnumerator">
            <summary>
            Returns an enumerator for the collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SpreadsheetHyperlinkCollection.Count">
            <summary>
            Gets the number of hyperlinks contained in the collection. 
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.AreaFormulaToken">
            <summary>
            Formula token for holding reference on cell range.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.AreaFormulaToken.regexOptions">
            <summary>
            Regular expression default settings
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.AreaFormulaToken.IsCellRangeRegex">
            <summary>
            Regula expression used to determinate whether the input string is cell range( area ) or not
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.AreaFormulaToken.firstRow">
            <summary>
            first row.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.AreaFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.AreaFormulaToken.FirstRow">
            <summary>
            Gets the first row.
            </summary>
            <value>The first row.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.CmoObjSubRecord.ID">
            <summary>
            Object's id.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.UnknownObjSubRecord.Read(System.Byte[])">
            <summary>
            Reads bye array.
            </summary>
            <param name="buffer">Array to Read.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.UnknownObjSubRecord.ConvertToBytes">
            <summary>
            Returns binary representation of the subrecord.
            </summary>
            <returns>Binary representation of the subrecord.</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.ArrayFormulaToken">
            <summary>
            Formula token for holding array.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ArrayFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ArrayFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ArrayFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ArrayFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ArrayFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.SpreadsheetInfo">
            <summary>
            Contains static licensing methods (GemBox.Spreadsheet Professional only) and diagnostic 
            information about executing GemBox.Spreadsheet assembly.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SpreadsheetInfo.Title">
            <summary>
            GemBox.Spreadsheet assembly title.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SpreadsheetInfo.FullVersion">
            <summary>
            GemBox.Spreadsheet assembly full version.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.SpreadsheetException">
            <summary>
            Represents errors that can occur in the GemBox.Spreadsheet component. 
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetException.#ctor">
            <summary>
            Initializes a new instance of the Exception class. 
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Exception class with a specified error message. 
            </summary>
            <param name="msg">Message string.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the Exception class with a specified error message 
            and a reference to the inner exception that is the cause of this exception. 
            </summary>
            <param name="msg">Message string.</param>
            <param name="inner">Inner exception.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SpreadsheetException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the Exception class with serialized data. 
            </summary>
            <param name="info">Serialization info.</param>
            <param name="context">Serialization context.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.NameRecord">
            <summary>
            Name record for holding information about name which can be used in named cell\range
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NameRecord.#ctor(System.Int32,System.IO.BinaryReader,GemBox.Spreadsheet.AbsXLSRec,GemBox.Spreadsheet.IoOperationInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NameRecord"/> class.
            </summary>
            <param name="bodyLength">Length of the body.</param>
            <param name="br">The binary readed to read from.</param>
            <param name="previousRecord">The previous record.</param>
            <param name="operationInfo">Current operation information.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NameRecord.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NameRecord"/> class.
            </summary>
            <param name="worksheet">The worksheet.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NameRecord.ConvertNameRecordRangeToRpnBytes(GemBox.Spreadsheet.ExcelWorksheet,GemBox.Spreadsheet.CellRange,System.String,GemBox.Spreadsheet.ExcelWorksheetCollection)">
            <summary>
            Converts the name record range to RPN bytes.
            </summary>
            <param name="sheet"></param>
            <param name="range">The range to be converted.</param>
            <param name="sheetName">Sheet' name.</param>
            <param name="worksheets">The worksheets collection.</param>		
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.NameValue">
            <summary>
            Gets or sets the name value.
            </summary>
            <value>The name value.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.SheetIndex">
            <summary>
            Gets or sets the index for the sheet which contain named cell\range.
            </summary>
            <value>The index for the sheet which contain named cell\range.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.Worksheets">
            <summary>
            Gets or sets the workbook\worksheets collection.
            </summary>
            <value>The workbook\worksheets collection.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.Range">
            <summary>
            Gets or sets the range to be associated with the user-defined name.
            </summary>
            <value>The range to be associated with the user-defined name.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.RpnBytes">
            <summary>
            Gets or sets the RPN bytes of formula used for referencing 3d cell or area.
            </summary>
            <value>The RPN bytes of formula used for referencing 3d cell or area.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NameRecord.Options">
            <summary>
            Gets or sets the options.
            </summary>
            <value>The options.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.Ref3dFormulaToken">
            <summary>
            Formula token for holding 3d reference on internal cell.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Ref3dFormulaToken.regexOptions">
            <summary>
            Regular expression default options
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Ref3dFormulaToken.IsCell3DRegex">
            <summary>
            Regular expression used to determinate whether the input string is 3d cell or not
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Ref3dFormulaToken.refIndex">
            <summary>
            REF entry' index on EXTERNSHEET record( see the Link Table ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.#ctor(GemBox.Spreadsheet.ExcelWorksheet,GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.Ref3dFormulaToken"/> class.
            </summary>
            <param name="sheet"></param>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.IsRef3dToken(System.Byte)">
            <summary>
            Determines whether is the specified code related to ref3d token.
            </summary>
            <param name="code">The code to be checked.</param>
            <returns>
            	<c>true</c> if the specified code related to ref3d token; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Ref3dFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.NumFormulaToken">
            <summary>
            Formula token for holding integer.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NumFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NumFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NumFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NumFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NumFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NumFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.IntFormulaToken">
            <summary>
            Formula token for holding integer.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.IntFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.IntFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.IntFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.IntFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.IntFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to bytes representation.
            </summary>
            <returns>bytes representation of the formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.IntFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelPicture">
            <summary>
            Represents a picture object used by <seealso cref="T:GemBox.Spreadsheet.ExcelPictureCollection">ExcelPictureCollection</seealso> in the worksheet.
            </summary>	
            <seealso cref="T:GemBox.Spreadsheet.ExcelPictureCollection">ExcelPictureCollection</seealso>				
            <example>
Following code demonstrates how to use images. It shows next features: 
<list type="number">
<item> bmp, jpeg loading </item>
<item> bmp, jpeg loading with custom coordinates and dimensions </item>
</list>
<code lang="Visual Basic">
	sheet.Pictures.Add( "Image.bmp" ) 
	sheet.Pictures.Add( "Image.bmp", New Rectangle(10, 50, 100, 100) )
</code>
<code lang="C#">
	sheet.Pictures.Add( "Image.bmp" );
	sheet.Pictures.Add( "Image.bmp", new Rectangle( 10, 50, 100, 100 ) );
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPicture.#ctor(GemBox.Spreadsheet.ExcelPictureCollection,System.Int32,System.Drawing.Image,System.Drawing.Rectangle)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ExcelPicture"/> class.
            </summary>
            <param name="parent">The workbook parent.</param>
            <param name="index">The index in picture collection.</param>
            <param name="image">The image to be added.</param>
            <param name="boundingRectangle">The bounding rectangle.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelPicture.Delete">
            <summary>
            Deletes this picture from picture collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.Image">
            <summary>
            Gets the image previously loaded.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.BoundingRectangle">
            <summary>
            Gets the image bounding rectangle.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.Index">
            <summary>
            Gets or sets the index in parent collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.Positioning">
            <summary>
            Gets or sets the positioning options of the pictue.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.TopLeftCell">
            <summary>
            Gets or sets the top left anchor cell for the picture.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.BottomRightCell">
            <summary>
            Gets or sets the bottom right anchor cell for the picture.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.PictureFormat">
            <summary>
            Gets the picture format.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPicture.ImageStream">
            <summary>
            Gets the image stream.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.PositioningMode">
            <summary>
            Option that specify the behaviour of the picture in the worksheet. 
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.PositioningMode.FreeFloating">
            <summary>
            Picture will not move with any of the anchor cells.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.PositioningMode.Move">
            <summary>
            Picture will move with the top left anchor cell.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.PositioningMode.MoveAndSize">
            <summary>
            Picture will move and resize with both anchor cells.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelPictureFormat">
            <summary>
            Picture formats.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Jpeg">
            <summary>
            Jpeg picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Png">
            <summary>
            Png picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Tiff">
            <summary>
            Tiff picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Gif">
            <summary>
            Gif picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Emf">
            <summary>
            Emf picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Wmf">
            <summary>
            Wmf picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Bmp">
            <summary>
            Bmp picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Exif">
            <summary>
            Exif picture format.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelPictureFormat.Ico">
            <summary>
            Ico picture format.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.AnchorCell">
            <summary>
            Represents a anchor cell object used by <seealso cref="T:GemBox.Spreadsheet.ExcelPictureCollection">ExcelPictureCollection</seealso> in the worksheet.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelPictureCollection">ExcelPictureCollection</seealso>
        </member>
        <member name="M:GemBox.Spreadsheet.AnchorCell.#ctor(GemBox.Spreadsheet.ExcelColumn,GemBox.Spreadsheet.ExcelRow,System.Int64,System.Int64)">
            <overloads>Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.AnchorCell"/> class.</overloads>
            <summary>
            Initializes a new instance by using offset values.
            </summary>
            <param name="column">Column where the anchor is placed.</param>
            <param name="row">Row where the anchor is placed.</param>
            <param name="columnOffset">Column offset for the anchor.</param>
            <param name="rowOffset">Row offset for the anchor.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AnchorCell.#ctor(GemBox.Spreadsheet.ExcelColumn,GemBox.Spreadsheet.ExcelRow,System.Boolean)">
            <summary>
            Initializes a new instance without using offset values.
            </summary>
            <param name="column">Column where the anchor is placed.</param>
            <param name="row">Row where the anchor is placed.</param>
            <param name="topLeft">If true, anchor will be placed in the top left corner of the anchor cell.
            Otherwise the anchor will be placed in the bottom right corner of the anchor cell.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AnchorCell.#ctor(GemBox.Spreadsheet.AnchorCell)">
            <summary>
            Initializes a new instance by using another anchor cell.
            </summary>
            <param name="anchorCell">Anchor cell to copy from.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AnchorCell.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:GemBox.Spreadsheet.AnchorCell">AnchorCell</see> is equal 
            to the current <see cref="T:GemBox.Spreadsheet.AnchorCell">AnchorCell</see>.
            </summary>
            <param name="obj">Object of <see cref="T:GemBox.Spreadsheet.AnchorCell">AnchorCell</see> type.</param>
            <returns><b>true</b> if the specified <see cref="T:GemBox.Spreadsheet.AnchorCell">AnchorCell</see> is equal 
            to the current <see cref="T:GemBox.Spreadsheet.AnchorCell">AnchorCell</see>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.AnchorCell.GetHashCode">
            <summary>
            Gets the hash code for anchor object.
            </summary>
            <returns>Hash code.</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.AnchorCell.Column">
            <summary>
            Gets or sets column for the anchor cell.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AnchorCell.ColumnOffset">
            <summary>
            Gets or sets column offset for the anchor cell.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AnchorCell.Row">
            <summary>
            Gets or sets row for the anchor cell.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.AnchorCell.RowOffset">
            <summary>
            Gets or sets row offset for the anchor cell.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.CellStyle">
            <summary>
            Contains settings specifying how the cell data will be displayed.
            </summary>
            <remarks>
            Various settings control various display aspects: alignment, patterns and shading, indentation, 
            rotation, cell protection, text wrapping, number format, font related settings and cell borders. You can 
            set cell style of a specific Excel through its <b>Style</b> property, or you can create new cell style 
            with desired properties and apply it to unlimited number of Excel objects. Note, however, that number of 
            distinct cell styles in Excel file can't exceed <see cref="F:GemBox.Spreadsheet.ExcelFile.MaxXlsCellStyles">
            ExcelFile.MaxCellStyles</see>. You don't have to worry about creating duplicate cell styles; internal 
            caching engine will eliminate duplicates in appropriate moments.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.CellStyle.#ctor">
            <summary>
            Creates new cell style with default values (Arial font with size 200).
            </summary>
            <remarks>
            Creating standalone cell style has sense only if you assign it to some Excel objects
            by setting <b>Style</b> property. Otherwise, the created cell style will have no effect on the Excel file.
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.CellStyle.#ctor(GemBox.Spreadsheet.ExcelFile)">
            <summary>
            Creates new cell style with default values (copies default font from ExcelFile object).
            </summary>
            <remarks>
            Creating standalone cell style has sense only if you assign it to some Excel objects
            by setting <b>Style</b> property. Otherwise, the created cell style will have no effect on the Excel file.
            </remarks>
            <param name="ef">ExcelFile object.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.IsDefault">
            <summary>
            Returns <b>true</b> if cell style is default; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.HorizontalAlignment">
            <summary>
            Gets or sets horizontal alignment.
            </summary>
            <remarks>
            Default value for this property is <see cref="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.General">
            HorizontalAlignmentStyle.General</see>.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment">
            <summary>
            Gets or sets vertical alignment.
            </summary>
            <remarks>
            Default value for this property is <see cref="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom">
            VerticalAlignmentStyle.Bottom</see>.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellStyle.HorizontalAlignment"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.FillPattern">
            <summary>
            Get or sets fill pattern.
            </summary>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.Indent">
            <summary>
            Gets or sets cell data indentation.
            </summary>
            <remarks>
            <p>Indents cell contents from any edge of the cell, depending on 
            <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> and associated alignment. If 
            you set this property to non-zero value and <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">
            IsTextVertical</see> is <b>false</b>, it is recommended thay you also set 
            <see cref="P:GemBox.Spreadsheet.CellStyle.HorizontalAlignment">HorizontalAlignment</see> to
            <see cref="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Left">HorizontalAlignmentStyle.Left</see> or
            <see cref="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Right">HorizontalAlignmentStyle.Right</see>. 
            Otherwise some versions of Microsoft Excel will have problems interpreting Indent value in 
            "Format Cells..." dialog &gt; "Alignment" tab. In the case where 
            <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> is <b>true</b>, you should set
            <see cref="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment">VerticalAlignment</see> instead.</p>
            <p>Unit is one character. Value must be between 0 and 15.</p>
            <p>Default value for this property is 0.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is out of range.</exception>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.Rotation">
            <summary>
            Gets or sets cell data rotation.
            </summary>
            <remarks>
            <p>Unit is degrees (1/360th of a full circle). Value must be between -90 and 90 and specifies 
            anticlockwise (counterclockwise [N.Amer]) rotation from the normal position.</p>
            <p>Because of Microsoft Excel limitations, this property and 
            <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> property can't be used at the 
            same time. If <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> is <b>true</b> and 
            rotation is set, <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> will be set to 
            <b>false</b>. When <see cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">IsTextVertical</see> is set to 
            <b>true</b>, rotation will be set to 0.</p>
            <p>Default value for this property is 0.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is not between -90 and 90.</exception>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellStyle.IsTextVertical"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.IsTextVertical">
            <summary>
            Gets or sets whether the cell text is displayed in a vertical style.
            </summary>
            <remarks>
            <p>If <b>true</b> letters are stacked top-to-bottom.</p>
            <p>Because of Microsoft Excel limitations, this property 
            and <see cref="P:GemBox.Spreadsheet.CellStyle.Rotation">Rotation</see> property can't be used at the same time. 
            When set, <see cref="P:GemBox.Spreadsheet.CellStyle.Rotation">Rotation</see> property is set to 0. 
            If <see cref="P:GemBox.Spreadsheet.CellStyle.Rotation">Rotation</see> property is latter set to some non-zero value,
            this property will be set to <b>false</b>.</p>
            <p>Default value for this property is <b>false</b>.</p>
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellStyle.Rotation"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.Locked">
            <summary>
            Gets or sets if the cell is locked.
            </summary>
            <remarks>
            <p>This property has meaning only if <see cref="P:GemBox.Spreadsheet.ExcelFile.Protected">ExcelFile.Protected</see> 
            or is <see cref="P:GemBox.Spreadsheet.ExcelWorksheet.Protected">ExcelWorksheet.Protected</see> set to <b>true</b>. For more information consult Microsoft Excel documentation.</p>
            <p>Default value for this property is <b>true</b>.</p>
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.Protected">ExcelFile.Protected</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelWorksheet.Protected">ExcelWorksheet.Protected</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.FormulaHidden">
            <summary>
            Gets or sets whether the formula is hidden in the formula bar when the cell is selected.
            </summary>
            <remarks>
            <p>This property has meaning only if <see cref="P:GemBox.Spreadsheet.ExcelFile.Protected">ExcelFile.Protected</see> 
            is set to <b>true</b>. For more information consult Microsoft Excel documentation.</p>
            <p>Default value for this property is <b>false</b>.</p>
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.Protected">ExcelFile.Protected</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.WrapText">
            <summary>
            Gets or sets if the text is wrapped.
            </summary>
            <remarks>
            <p>If set to <b>true</b>, wraps cell data into multiple lines in a cell. The number of wrapped lines is 
            dependent on the width of the column and the length of the cell contents.</p>
            Default value for this property is <b>false</b>.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.ShrinkToFit">
            <summary>
            Gets or sets if the cell text is shrunk to fit the cell.
            </summary>
            <remarks>
            <p>If set to <b>true</b>, reduces the apparent size of font characters so that all data in a selected 
            cell fits within the column. For more information consult Microsoft Excel documentation.</p>
            Default value for this property is <b>false</b>.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.NumberFormat">
            <summary>
            Gets or sets format string that will be used to interpret and display cell value.
            </summary>
            <remarks>
            <p>If the value of this property is <see cref="F:System.String.Empty">String.Empty</see> and 
            <see cref="P:GemBox.Spreadsheet.ExcelCell.Value">ExcelCell.Value</see> is of 
            <see cref="T:System.DateTime">DateTime</see> type, 
            ISO date/time format will be used as number format.</p>
            <p>
            Custom  number format has to be in invariant culture format.
            </p>
            <p>
            Example:
            </p>
            <p>
            <FONT face="Arial" size="1">
            <table border="1" cellpadding="5" cellspacing="0" ID="Table1">
            <tr>
            <td><b>Format string</b></td>
            <td><b>Value</b></td>
            <td><b>Output</b></td>
            </tr>
            <TR>
            <TD>#####</TD>
            <TD>123</TD>
            <TD>123</TD>
            </TR>
            <TR>
            <TD>00000</TD>
            <TD>123</TD>
            <TD>00123</TD>
            </TR>
            <TR>
            <TD>#,#</TD>
            <TD>1234567890</TD>
            <TD>1,234,567,890</TD>
            </TR>
            <TR>
            <TD>00.00</TD>
            <TD>1.2</TD>
            <TD>01.20</TD>
            </TR>
            <TR>
            <TD>#,##0.00</TD>
            <TD>1234567890</TD>
            <TD>1,234,567,890.00</TD>
            </TR>
            <TR>
            <TD>#0.##%</TD>
            <TD>0.092</TD>
            <TD>9.2%</TD>
            </TR>
            </table>
            </FONT>
            </p>
            <p>For more information on number format strings consult Microsoft Excel documentation.</p>
            Default value for this property is <see cref="F:System.String.Empty">String.Empty</see>.
            </remarks>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.Font">
            <summary>
            Gets or sets font related settings.
            </summary>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellStyle.Borders">
            <summary>
            Gets or sets cell borders (<see cref="T:GemBox.Spreadsheet.CellBorder">CellBorder</see>).
            </summary>
            <example> Following code demonstrates various cell style properties:
<code lang="Visual Basic">
    Sub StylesSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Cell style examples:"

        Dim row As Integer = 0

        <font color="Green">' Column width of 4, 30 and 35 characters.</font>
        ws.Columns(0).Width = 4 * 256
        ws.Columns(1).Width = 30 * 256
        ws.Columns(2).Width = 35 * 256

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Borders.SetBorders(...)"
        ws.Cells(row, 2).Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.FillPattern.SetPattern(...)"
        ws.Cells(row, 2).Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow)

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Color ="
        ws.Cells(row, 2).Value = "Color.Blue"
        ws.Cells(row, 2).Style.Font.Color = Color.Blue

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Italic ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Italic = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Name ="
        ws.Cells(row, 2).Value = "Comic Sans MS"
        ws.Cells(row, 2).Style.Font.Name = "Comic Sans MS"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.ScriptPosition ="
        ws.Cells(row, 2).Value = "ScriptPosition.Superscript"
        ws.Cells(row, 2).Style.Font.ScriptPosition = ScriptPosition.Superscript

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Size ="
        ws.Cells(row, 2).Value = "18 * 20"
        ws.Cells(row, 2).Style.Font.Size = 18 * 20

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Strikeout ="
        ws.Cells(row, 2).Value = "true"
        ws.Cells(row, 2).Style.Font.Strikeout = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.UnderlineStyle ="
        ws.Cells(row, 2).Value = "UnderlineStyle.Double"
        ws.Cells(row, 2).Style.Font.UnderlineStyle = UnderlineStyle.Double

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Font.Weight ="
        ws.Cells(row, 2).Value = "ExcelFont.BoldWeight"
        ws.Cells(row, 2).Style.Font.Weight = ExcelFont.BoldWeight

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.HorizontalAlignment ="
        ws.Cells(row, 2).Value = "HorizontalAlignmentStyle.Center"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Indent"
        ws.Cells(row, 2).Value = "five"
        ws.Cells(row, 2).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
        ws.Cells(row, 2).Style.Indent = 5

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.IsTextVertical = "
        ws.Cells(row, 2).Value = "true"
        <font color="Green">' Set row height to 50 points.</font>
        ws.Rows(row).Height = 50 * 20
        ws.Cells(row, 2).Style.IsTextVertical = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.NumberFormat"
        ws.Cells(row, 2).Value = 1234
        ws.Cells(row, 2).Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]"

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.Rotation"
        ws.Cells(row, 2).Value = "35 degrees up"
        ws.Cells(row, 2).Style.Rotation = 35

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.ShrinkToFit"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears shrunk."
        ws.Cells(row, 2).Style.ShrinkToFit = True

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.VerticalAlignment ="
        ws.Cells(row, 2).Value = "VerticalAlignmentStyle.Top"
        <font color="Green">' Set row height to 30 points.</font>
        ws.Rows(row).Height = 30 * 20
        ws.Cells(row, 2).Style.VerticalAlignment = VerticalAlignmentStyle.Top

        row = row + 2
        ws.Cells(row, 1).Value = ".Style.WrapText"
        ws.Cells(row, 2).Value = "This property is set to true so this text appears broken into multiple lines."
        ws.Cells(row, 2).Style.WrapText = True
    End Sub
</code>
<code lang="C#">
	static void StylesSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Cell style examples:";

		int row = 0;

		<font color="Green">// Column width of 4, 30 and 35 characters.</font>
		ws.Columns[0].Width = 4 * 256;
		ws.Columns[1].Width = 30 * 256;
		ws.Columns[2].Width = 35 * 256;

		ws.Cells[row+=2,1].Value = ".Style.Borders.SetBorders(...)";
		ws.Cells[row,2].Style.Borders.SetBorders(MultipleBorders.All, Color.FromArgb(252, 1, 1), LineStyle.Thin);

		ws.Cells[row+=2,1].Value = ".Style.FillPattern.SetPattern(...)";
		ws.Cells[row,2].Style.FillPattern.SetPattern(FillPatternStyle.ThinHorizontalCrosshatch, Color.Green, Color.Yellow);

		ws.Cells[row+=2,1].Value = ".Style.Font.Color =";
		ws.Cells[row,2].Value = "Color.Blue";
		ws.Cells[row,2].Style.Font.Color = Color.Blue;

		ws.Cells[row+=2,1].Value = ".Style.Font.Italic =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Italic = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.Name =";
		ws.Cells[row,2].Value = "Comic Sans MS";
		ws.Cells[row,2].Style.Font.Name = "Comic Sans MS";

		ws.Cells[row+=2,1].Value = ".Style.Font.ScriptPosition =";
		ws.Cells[row,2].Value = "ScriptPosition.Superscript";
		ws.Cells[row,2].Style.Font.ScriptPosition = ScriptPosition.Superscript;

		ws.Cells[row+=2,1].Value = ".Style.Font.Size =";
		ws.Cells[row,2].Value = "18 * 20";
		ws.Cells[row,2].Style.Font.Size = 18 * 20;

		ws.Cells[row+=2,1].Value = ".Style.Font.Strikeout =";
		ws.Cells[row,2].Value = "true";
		ws.Cells[row,2].Style.Font.Strikeout = true;

		ws.Cells[row+=2,1].Value = ".Style.Font.UnderlineStyle =";
		ws.Cells[row,2].Value = "UnderlineStyle.Double";
		ws.Cells[row,2].Style.Font.UnderlineStyle = UnderlineStyle.Double;

		ws.Cells[row+=2,1].Value = ".Style.Font.Weight =";
		ws.Cells[row,2].Value = "ExcelFont.BoldWeight";
		ws.Cells[row,2].Style.Font.Weight = ExcelFont.BoldWeight;

		ws.Cells[row+=2,1].Value = ".Style.HorizontalAlignment =";
		ws.Cells[row,2].Value = "HorizontalAlignmentStyle.Center";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;

		ws.Cells[row+=2,1].Value = ".Style.Indent";
		ws.Cells[row,2].Value = "five";
		ws.Cells[row,2].Style.HorizontalAlignment = HorizontalAlignmentStyle.Left;
		ws.Cells[row,2].Style.Indent = 5;

		ws.Cells[row+=2,1].Value = ".Style.IsTextVertical = ";
		ws.Cells[row,2].Value = "true";
		<font color="Green">// Set row height to 50 points.</font>
		ws.Rows[row].Height = 50 * 20;
		ws.Cells[row,2].Style.IsTextVertical = true;

		ws.Cells[row+=2,1].Value = ".Style.NumberFormat";
		ws.Cells[row,2].Value = 1234;
		ws.Cells[row,2].Style.NumberFormat = "#.##0,00 [$Krakozhian Money Units]";

		ws.Cells[row+=2,1].Value = ".Style.Rotation";
		ws.Cells[row,2].Value = "35 degrees up";
		ws.Cells[row,2].Style.Rotation = 35;

		ws.Cells[row+=2,1].Value = ".Style.ShrinkToFit";
		ws.Cells[row,2].Value = "This property is set to true so this text appears shrunk.";
		ws.Cells[row,2].Style.ShrinkToFit = true;

		ws.Cells[row+=2,1].Value = ".Style.VerticalAlignment =";
		ws.Cells[row,2].Value = "VerticalAlignmentStyle.Top";
		<font color="Green">// Set row height to 30 points.</font>
		ws.Rows[row].Height = 30 * 20;
		ws.Cells[row,2].Style.VerticalAlignment = VerticalAlignmentStyle.Top;

		ws.Cells[row+=2,1].Value = ".Style.WrapText";
		ws.Cells[row,2].Value = "This property is set to true so this text appears broken into multiple lines.";
		ws.Cells[row,2].Style.WrapText = true;
	}
</code> 
</example>
        </member>
        <member name="T:GemBox.Spreadsheet.HashtableElement">
            <summary>
            HashtableElement. All derived classes MUST implement:
            1) HashtableElement Clone()
            2) int GetHashCode()
            3) bool Equals(object obj)
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.HorizontalAlignmentStyle">
            <summary>
            Horizontal alignment styles used for <see cref="P:GemBox.Spreadsheet.CellStyle.HorizontalAlignment">
            CellStyle.HorizontalAlignment</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.General">
            <summary>
            Aligns data depending on the data type (text, number, etc.). Consult Microsoft Excel documentation.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Left">
            <summary>
            Left alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Center">
            <summary>
            Center alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Right">
            <summary>
            Right alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Fill">
            <summary>
            Fill alignment repeats cell data to fill the whole cell.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Justify">
            <summary>
            Justify alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.CenterAcross">
            <summary>
            Centered across selection. Multiple cells can be selected but only one should have value for this alignment to have effect.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.HorizontalAlignmentStyle.Distributed">
            <summary>
            Distributed alignment.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.VerticalAlignmentStyle">
            <summary>
            Vertical alignment styles used for <see cref="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment">
            CellStyle.VerticalAlignment</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Top">
            <summary>
            Top alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Center">
            <summary>
            Center alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom">
            <summary>
            Bottom alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Justify">
            <summary>
            Justify alignment.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.VerticalAlignmentStyle.Distributed">
            <summary>
            Distributed alignment.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.CellBorder">
            <summary>
            Contains settings for a single cell border.
            </summary>
            <remarks>
Note that although diagonal-up (<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalUp">IndividualBorder.DiagonalUp</see> 
or <see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalUp">MultipleBorders.DiagonalUp</see>) and diagonal-down 
(<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalDown">IndividualBorder.DiagonalDown</see> or
<see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalDown">MultipleBorders.DiagonalDown</see>) can be individually set, 
they share the same color and the same line style. This is a Microsoft Excel limitation.
</remarks>
            <seealso cref="T:GemBox.Spreadsheet.CellBorders"/>
        </member>
        <member name="M:GemBox.Spreadsheet.CellBorder.SetBorder(System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">
            <summary>
            Sets both border line color and line style.
            </summary>
            <param name="lineColor">Border line color.</param>
            <param name="lineStyle">Border line style.</param>
            <remarks>
Note that although diagonal-up (<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalUp">IndividualBorder.DiagonalUp</see> 
or <see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalUp">MultipleBorders.DiagonalUp</see>) and diagonal-down 
(<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalDown">IndividualBorder.DiagonalDown</see> or
<see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalDown">MultipleBorders.DiagonalDown</see>) can be individually set, 
they share the same color and the same line style. This is a Microsoft Excel limitation.
</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.CellBorder.LineColor">
            <summary>
            Gets or sets border line color.
            </summary>
            <remarks>
Note that although diagonal-up (<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalUp">IndividualBorder.DiagonalUp</see> 
or <see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalUp">MultipleBorders.DiagonalUp</see>) and diagonal-down 
(<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalDown">IndividualBorder.DiagonalDown</see> or
<see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalDown">MultipleBorders.DiagonalDown</see>) can be individually set, 
they share the same color and the same line style. This is a Microsoft Excel limitation.
</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.CellBorder.LineStyle">
            <summary>
            Gets or sets border line style.
            </summary>
            <remarks>
Note that although diagonal-up (<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalUp">IndividualBorder.DiagonalUp</see> 
or <see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalUp">MultipleBorders.DiagonalUp</see>) and diagonal-down 
(<see cref="F:GemBox.Spreadsheet.IndividualBorder.DiagonalDown">IndividualBorder.DiagonalDown</see> or
<see cref="F:GemBox.Spreadsheet.MultipleBorders.DiagonalDown">MultipleBorders.DiagonalDown</see>) can be individually set, 
they share the same color and the same line style. This is a Microsoft Excel limitation.
</remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.CellBorders">
            <summary>
            Collection of cell borders (<see cref="T:GemBox.Spreadsheet.CellBorder">CellBorder</see>).
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.CellBorder"/>
        </member>
        <member name="M:GemBox.Spreadsheet.CellBorders.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">
            <summary>
            Sets specific line color and line style on multiple borders.
            </summary>
            <param name="multipleBorders">Borders to set.</param>
            <param name="lineColor">Border line color.</param>
            <param name="lineStyle">Border line style.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.CellBorders.Item(GemBox.Spreadsheet.IndividualBorder)">
            <summary>
            Gets specific border.
            </summary>
            <param name="individualBorder">Border to get.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.LineStyle">
            <summary>
            Line styles used for 
            <see cref="P:GemBox.Spreadsheet.CellBorder.LineStyle">CellBorder.LineStyle</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.None">
            <summary>
            No line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Thin">
            <summary>
            Thin line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Medium">
            <summary>
            Medium line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Dashed">
            <summary>
            Dashed line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Dotted">
            <summary>
            Dotted line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Thick">
            <summary>
            Thick line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.DoubleLine">
            <summary>
            Obsolete. Use Double instead.
            </summary>
            <exclude/>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Double">
            <summary>
            Double line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.Hair">
            <summary>
            Hair line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.MediumDashed">
            <summary>
            Medium dashed line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.DashDot">
            <summary>
            Dash-dot line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.MediumDashDot">
            <summary>
            Medium dash-dot line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.DashDotDot">
            <summary>
            Dash-dot-dot line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.MediumDashDotDot">
            <summary>
            Medium dash-dot-dot line.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.SlantedDashDot">
            <summary>
            Obsolete. Use SlantDashDot instead.
            </summary>
            <exclude/>
        </member>
        <member name="F:GemBox.Spreadsheet.LineStyle.SlantDashDot">
            <summary>
            Slanted dash-dot line.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.IndividualBorder">
            <summary>
            Different borders that can be set on excel cell. Members of this enumeration can't be combined.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.MultipleBorders"/>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.Top">
            <summary>
            Top border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.Bottom">
            <summary>
            Bottom border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.Left">
            <summary>
            Left border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.Right">
            <summary>
            Right border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.DiagonalUp">
            <summary>
            Diagonal-up border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IndividualBorder.DiagonalDown">
            <summary>
            Diagonal-down border.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.MultipleBorders">
            <summary>
            Flags for borders and border groups that can be set on the excel cell. 
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.IndividualBorder"/>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.None">
            <summary>
            None of the borders are used.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Top">
            <summary>
            Top border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Bottom">
            <summary>
            Bottom border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Left">
            <summary>
            Left border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Right">
            <summary>
            Right border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.DiagonalUp">
            <summary>
            Diagonal-up border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.DiagonalDown">
            <summary>
            Diagonal-down border.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Horizontal">
            <summary>
            Horizontal borders.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Vertical">
            <summary>
            Vertical borders.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Diagonal">
            <summary>
            Diagonal borders.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.Outside">
            <summary>
            Outside borders.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.MultipleBorders.All">
            <summary>
            All borders are used.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelFillPattern">
            <summary>
            Contains fill pattern settings.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFillPattern.SetSolid(System.Drawing.Color)">
            <summary>
            Sets solid pattern using specified fill color.
            </summary>
            <param name="fillColor">Fill color.</param>
            <remarks>
            This will set <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternStyle">PatternStyle</see> to 
            <see cref="F:GemBox.Spreadsheet.FillPatternStyle.Solid">FillPatternStyle.Solid</see> and 
            <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">PatternForegroundColor</see> 
            to <i>fillColor</i>.
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle,System.Drawing.Color,System.Drawing.Color)">
            <summary>
            Sets complex (non-empty and non-solid) pattern.
            </summary>
            <param name="patternStyle">Pattern style.</param>
            <param name="foregroundColor">Foreground color.</param>
            <param name="backgroundColor">Background color.</param>
            <remarks>
            <p>For solid pattern, just use <see cref="M:GemBox.Spreadsheet.ExcelFillPattern.SetSolid(System.Drawing.Color)">SetSolid</see> method.</p>
            <p>To clear fill pattern, just set <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternStyle">PatternStyle</see> 
            to <see cref="F:GemBox.Spreadsheet.FillPatternStyle.None">FillPatternStyle.None</see></p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFillPattern.PatternStyle">
            <summary>
            Gets or sets fill pattern style.
            </summary>
            <remarks>
            If you set this property to anything else than <see cref="F:GemBox.Spreadsheet.FillPatternStyle.None">
            FillPatternStyle.None</see>, <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">
            PatternForegroundColor</see> and/or <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternBackgroundColor">
            PatternBackgroundColor</see> should also be set (if color is 
            different from default <see cref="P:System.Drawing.Color.Black">Color.Black</see>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">
            <summary>
            Get or sets fill pattern foreground color.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.FillPatternStyle"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFillPattern.PatternBackgroundColor">
            <summary>
            Get or sets fill pattern background color.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.FillPatternStyle"/>
        </member>
        <member name="T:GemBox.Spreadsheet.FillPatternStyle">
            <summary>
            Fill pattern styles used for 
            <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternStyle">ExcelFillPattern.PatternStyle</see>.
            </summary>
            <remarks>
            <p>To see names of Microsoft Excel patterns, start Microsoft Excel and go to "Format" menu &gt; "Cells..." submenu &gt; 
            "Patterns" tab &gt; "Pattern" drop-down. When hovering over a pattern, Microsoft Excel name is displayed in tooltip
            text.</p>
            <p><b>None</b> fill pattern uses no colors.</p>
            <p><b>Solid</b> fill pattern uses <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">
            ExcelFillPattern.PatternForegroundColor</see>.</p>
            <p>All other paterns use both <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">
            ExcelFillPattern.PatternForegroundColor</see> and 
            <see cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternBackgroundColor">ExcelFillPattern.PatternBackgroundColor</see></p>
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternStyle">ExcelFillPattern.PatternStyle</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternForegroundColor">ExcelFillPattern.PatternForegroundColor</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFillPattern.PatternBackgroundColor">ExcelFillPattern.PatternBackgroundColor</seealso>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.None">
            <summary>
            No fill pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Solid">
            <summary>
            "Solid" fill pattern using foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Gray6">
            <summary>
            "6% Gray" is Microsoft Excel pattern name, but any color can be used instead of black as a foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Gray12">
            <summary>
            "12% Gray" is Microsoft Excel pattern name, but any color can be used instead of black as a foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Gray25">
            <summary>
            "25% Gray" is Microsoft Excel pattern name, but any color can be used instead of black as a foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Gray50">
            <summary>
            "50% Gray" is Microsoft Excel pattern name, but any color can be used instead of black as a foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.Gray75">
            <summary>
            "75% Gray" is Microsoft Excel pattern name, but any color can be used instead of black as a foreground color.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.HorizontalStripe">
            <summary>
            "Horizontal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.VerticalStripe">
            <summary>
            "Vertical Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.DiagonalStripe">
            <summary>
            "Diagonal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ReverseDiagonalStripe">
            <summary>
            "Reverse Diagonal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.DiagonalCrosshatch">
            <summary>
            "Diagonal Crosshatch" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThickDiagonalCrosshatch">
            <summary>
            "Thick Diagonal Crosshatch" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinHorizontalStripe">
            <summary>
            "Thin Horizontal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinVerticalStripe">
            <summary>
            "Thin Vertical Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinDiagonalStripe">
            <summary>
            "Thin Diagonal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinReverseDiagonalStripe">
            <summary>
            "Thin Reverse Diagonal Stripe" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinHorizontalCrosshatch">
            <summary>
            "Thin Horizontal Crosshatch" pattern.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.FillPatternStyle.ThinDiagonalCrosshatch">
            <summary>
            "Thin Diagonal Crosshatch" pattern.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelFont">
            <summary>
            Contains font related settings.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFont.MinWeight">
            <summary>
            Minimum font weight.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFont.Weight"/>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFont.NormalWeight">
            <summary>
            Normal font weight.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFont.Weight"/>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFont.BoldWeight">
            <summary>
            Default bold font weight.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFont.Weight"/>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFont.MaxWeight">
            <summary>
            Maximum font weight.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFont.Weight"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Name">
            <summary>
            Gets or sets name of the font.
            </summary>
            <remarks>
            Default value for this property is determined by
            <see cref="P:GemBox.Spreadsheet.ExcelFile.DefaultFontName">
            GemBox.Spreadsheet.ExcelFile.DefaultFontName</see>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Color">
            <summary>
            Gets or sets font color.
            </summary>
            <remarks>
            Default value for this property is <see cref="P:System.Drawing.Color.Black">Color.Black</see>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Weight">
            <summary>
            Gets or sets font weight (font boldness).
            </summary>
            <remarks>
            <p>Font weight is an integer value between <see cref="F:GemBox.Spreadsheet.ExcelFont.MinWeight">
            MinWeight</see> and <see cref="F:GemBox.Spreadsheet.ExcelFont.MaxWeight">MaxWeight</see>.</p>
            <p>If you want font to have standard boldness, set this property to
            <see cref="F:GemBox.Spreadsheet.ExcelFont.BoldWeight">BoldWeight</see>.</p>
            <p>Default value of this property is <see cref="F:GemBox.Spreadsheet.ExcelFont.NormalWeight">NormalWeight</see>.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if font weight is out of allowed range.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Size">
            <summary>
            Gets or sets font size.
            </summary>
            <remarks>
            <p>Unit is twip (1/20th of a point).</p>
            <p>Default value of this property is determined by
            <see cref="P:GemBox.Spreadsheet.ExcelFile.DefaultFontSize">
            GemBox.Spreadsheet.ExcelFile.DefaultFontSize</see></p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Italic">
            <summary>
            Gets or sets if the font is italic.
            </summary>
            <remarks>
            Default value of this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.Strikeout">
            <summary>
            Gets or sets if the font is struck out.
            </summary>
            <remarks>
            Default value of this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.ScriptPosition">
            <summary>
            Gets or sets font script position.
            </summary>
            <remarks>
            Default value of this property is <see cref="F:GemBox.Spreadsheet.ScriptPosition.Normal">ScriptPosition.Normal</see>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFont.UnderlineStyle">
            <summary>
            Gets or sets font underlining.
            </summary>
            <remarks>
            Default value of this property is <see cref="F:GemBox.Spreadsheet.UnderlineStyle.None">UnderlineStyle.None</see>.
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.ScriptPosition">
            <summary>
            Script positions used in <see cref="P:GemBox.Spreadsheet.ExcelFont.ScriptPosition">ExcelFont.ScriptPosition</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ScriptPosition.Normal">
            <summary>
            Normal script position.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ScriptPosition.Superscript">
            <summary>
            Displays script above normal position.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ScriptPosition.Subscript">
            <summary>
            Displays script below normal position.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.UnderlineStyle">
            <summary>
            Underline styles used in <see cref="P:GemBox.Spreadsheet.ExcelFont.UnderlineStyle">ExcelFont.UnderlineStyle</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.UnderlineStyle.None">
            <summary>
            No underline.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.UnderlineStyle.Single">
            <summary>
            Single underline. Underlines only cell data.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.UnderlineStyle.Double">
            <summary>
            Double underline. Underlines only cell data.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.UnderlineStyle.SingleAccounting">
            <summary>
            Single accounting underline. Underlines whole cell.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.UnderlineStyle.DoubleAccounting">
            <summary>
            Double accounting underline. Underlines whole cell.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.CellRange">
            <summary>
            Cell range is a rectangular group of worksheet cells.
            </summary>
            <remarks>
            <p>Cell range is determined by its top (<see cref="P:GemBox.Spreadsheet.CellRange.FirstRowIndex">FirstRowIndex</see>), 
            left (<see cref="P:GemBox.Spreadsheet.CellRange.FirstColumnIndex">FirstColumnIndex</see>), 
            bottom (<see cref="P:GemBox.Spreadsheet.CellRange.LastRowIndex">LastRowIndex</see>) and 
            right (<see cref="P:GemBox.Spreadsheet.CellRange.LastColumnIndex">LastColumnIndex</see>) borders. This properties 
            are read-only, so if you require different cell range use one of GetSubrange methods 
            (<see cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeAbsolute(System.Int32,System.Int32,System.Int32,System.Int32)">GetSubrangeAbsolute</see>, 
            <see cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeRelative(System.Int32,System.Int32,System.Int32,System.Int32)">GetSubrangeRelative</see> or 
            <see cref="M:GemBox.Spreadsheet.CellRange.GetSubrange(System.String,System.String)">GetSubrange</see>). Specific cell can be accessed in a few 
            ways, depending on <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see>. Cells in the 
            range can be merged / unmerged by the use of <see cref="P:GemBox.Spreadsheet.CellRange.Merged">Merged</see> 
            property.</p>
            <p><see cref="P:GemBox.Spreadsheet.CellRange.Value">Value</see> property set will set value of multiple cells 
            or of a merged range. <see cref="P:GemBox.Spreadsheet.CellRange.Value">Value</see> property get has meaning 
            only if range is merged; otherwise, exception is thrown.</p>
            <p><see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property set will set style of multiple cells 
            or of a merged range. <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property get has meaning 
            only if range is merged; otherwise, exception is thrown.</p>
            <p> Note that for <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property set on a cell range that 
is not merged, you can't use the following format:
<code lang="Visual Basic">
	Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells
	cr.Style.Rotation = 30
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;
	cr.Style.Rotation = 30;
</code>
because that would first call <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property get method and that 
will certainly fail because <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property get is defined only 
for a merged cell range. </p><p>Instead you can use two different code patterns, depending on whether you want to replace or combine the existing 
cell range styles with the new style.</p><p>
If you want to <b>replace</b> cell style on every cell in a cell range use the following code:
<code lang="Visual Basic">
	Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells
	Dim style As CellStyle = New CellStyle()
	style.Rotation = 30
	cr.Style = style
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;
	CellStyle style = new CellStyle();
	style.Rotation = 30;
	cr.Style = style;
</code>
</p><p>
If you want to <b>set</b> cell style property on every cell in a cell range (other cell style property values will 
remain unchanged) use the following code:
<code lang="Visual Basic">
    Dim cell As ExcelCell
    For Each cell In excelFile.Worksheets(0).Rows(1).Cells
        cell.Style.Rotation = 30
    Next
</code>
<code lang="C#">
	foreach(ExcelCell cell in excelFile.Worksheets[0].Rows[1].Cells)
		cell.Style.Rotation = 30;
</code>
</p>
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.PositionToRowColumn(System.String,System.Int32@,System.Int32@)">
            <summary>
            Converts position string ("A1", "BN27", etc.) to row and column index.
            </summary>
            <param name="position">Position string.</param>
            <param name="row">Row index.</param>
            <param name="column">Column index.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.RowColumnToPosition(System.Int32,System.Int32)">
            <summary>
            Converts row and column index to position string ("A1", "BN27", etc.).
            </summary>
            <param name="row">Row index.</param>
            <param name="column">Column index.</param>
            <returns>Position string.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> is equal 
            to the current <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>.
            </summary>
            <param name="obj">Object of <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> type.</param>
            <returns><b>true</b> if the specified <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> is equal 
            to the current <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetHashCode">
            <summary>
            Returns the hash code of this object.
            </summary>
            <returns>Hash code.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>.
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">
            <summary>
            Sets borders on one or more excel cells, taking cell position into account.
            </summary>
            <param name="multipleBorders">Borders to set.</param>
            <param name="lineColor">Line color.</param>
            <param name="lineStyle">Line style.</param>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetEnumerator">
            <summary>
            Returns an enumerator for the <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> (all cells).
            </summary>
            <remarks>
            Returns default enumerator that iterates all cells in the range. If you are only reading existing
            cells (values or formatting), use more appropriate <see cref="M:GemBox.Spreadsheet.CellRange.GetReadEnumerator"/>.
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetReadEnumerator">
            <summary>
            Returns enumerator for the <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> (only allocated cells).
            </summary>
            <remarks>
            Returns enumerator that iterates only already allocated cells in the range. If you are only reading existing
            cells (values or formatting), use this enumerator as it is faster and doesn't allocate unnecessary cells.
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetSubrangeAbsolute(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns new cell range using absolute indexing.
            </summary>
            <param name="firstRow">Absolute index of the first row.</param>
            <param name="firstColumn">Absolute index of the first column.</param>
            <param name="lastRow">Absolute index of the last row.</param>
            <param name="lastColumn">Absolute index of the last column.</param>
            <remarks>
            New cell range must be within this cell range.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if arguments are out of range.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.FirstRowIndex"/>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.FirstColumnIndex"/>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.LastRowIndex"/>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.LastColumnIndex"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeRelative(System.Int32,System.Int32,System.Int32,System.Int32)"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrange(System.String,System.String)"/>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetSubrangeRelative(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns new cell range using relative indexing.
            </summary>
            <param name="relativeRow">Relative index of the first row.</param>
            <param name="relativeColumn">Relative index of the first column.</param>
            <param name="width">Width of new cell range in columns.</param>
            <param name="height">Height of new cell range in rows.</param>
            <remarks>
            New cell range must be within this cell range.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if arguments are out of range.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Width"/>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Height"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeAbsolute(System.Int32,System.Int32,System.Int32,System.Int32)"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrange(System.String,System.String)"/>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.GetSubrange(System.String,System.String)">
            <summary>
            Returns new cell range using start and end position.
            </summary>
            <param name="firstCell">Name of first (top-left) cell.</param>
            <param name="lastCell">Name of last (bottom-right) cell.</param>
            <remarks>
            New cell range must be within this cell range.
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if arguments are out of range.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.StartPosition"/>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.EndPosition"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeAbsolute(System.Int32,System.Int32,System.Int32,System.Int32)"/>
            <seealso cref="M:GemBox.Spreadsheet.CellRange.GetSubrangeRelative(System.Int32,System.Int32,System.Int32,System.Int32)"/>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.CopyTo(System.Int32,System.Int32)">
            <overloads>Copies this cell range to the specified position.</overloads>
            <summary>
            Copies this cell range to another position in the same worksheet.
            </summary>
            <param name="absoluteRow">Absolute index of the destination row.</param>
            <param name="absoluteColumn">Absolute index of the destination column.</param>
            <remarks>
            <p><i>absoluteRow</i> and <i>absoluteColumn</i> specify position of the top-left cell of 
            the destination cell range.</p>
            <p>Destination cell range has the same width and height as this cell range.</p>
            <p><see cref="T:System.ArgumentOutOfRangeException"/> is thrown if destination range:
            <list type="bullet">
            <item><description>breaks Excel worksheet row or column limit,</description></item>
            <item><description>overlaps with source range, or</description></item>
            <item><description>overlaps with existing merged range.</description></item>
            </list></p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if destination range is invalid.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.CopyTo(GemBox.Spreadsheet.ExcelWorksheet,System.Int32,System.Int32)">
            <summary>
            Copies this cell range to another worksheet.
            </summary>
            <param name="destinationWorksheet">Destination worksheet.</param>
            <param name="absoluteRow">Absolute index of the destination row.</param>
            <param name="absoluteColumn">Absolute index of the destination column.</param>
            <remarks>
            <p><i>absoluteRow</i> and <i>absoluteColumn</i> specify position of the top-left cell of 
            the destination cell range.</p>
            <p>Destination cell range has the same width and height as this cell range.</p>
            <p><see cref="T:System.ArgumentOutOfRangeException"/> is thrown if destination range:
            <list type="bullet">
            <item><description>breaks Excel worksheet row or column limit,</description></item>
            <item><description>overlaps with source range, or</description></item>
            <item><description>overlaps with existing merged range.</description></item>
            </list></p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if destination range is invalid.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.CopyTo(System.String)">
            <summary>
            Copies this cell range to another position in the same worksheet.
            </summary>
            <param name="topLeftCell">Full name of the top-left cell of the destination range.</param>
            <remarks>
            <p><i>topLeftCell</i> specifies position of the top-left cell of 
            the destination cell range.</p>
            <p>Destination cell range has the same width and height as this cell range.</p>
            <p><see cref="T:System.ArgumentOutOfRangeException"/> is thrown if destination range:
            <list type="bullet">
            <item><description>breaks Excel worksheet row or column limit,</description></item>
            <item><description>overlaps with source range, or</description></item>
            <item><description>overlaps with existing merged range.</description></item>
            </list></p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if destination range is invalid.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.CopyTo(GemBox.Spreadsheet.ExcelWorksheet,System.String)">
            <summary>
            Copies this cell range to another worksheet.
            </summary>
            <param name="destinationWorksheet">Destination worksheet.</param>
            <param name="topLeftCell">Full name of the top-left cell of the destination range.</param>
            <remarks>
            <p><i>topLeftCell</i> specifies position of the top-left cell of 
            the destination cell range.</p>
            <p>Destination cell range has the same width and height as this cell range.</p>
            <p><see cref="T:System.ArgumentOutOfRangeException"/> is thrown if destination range:
            <list type="bullet">
            <item><description>breaks Excel worksheet row or column limit,</description></item>
            <item><description>overlaps with source range, or</description></item>
            <item><description>overlaps with existing merged range.</description></item>
            </list></p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if destination range is invalid.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.Overlaps(GemBox.Spreadsheet.CellRange)">
            <summary>
            Checks if this cell range overlaps with another cell range.
            </summary>
            <param name="range">Cell range.</param>
            <returns><b>true</b> if cell ranges overlap; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.FindText(System.String,System.Boolean,System.Boolean,System.Int32@,System.Int32@)">
            <summary>
            Finds the first occurrence of the specified text in the current cell range.
            </summary>
            <param name="text">Test to search.</param>
            <param name="matchCase"><b>True</b> to match exact case, <b>false</b> otherwise.</param>
            <param name="matchEntireCellContents"><b>True</b> to match entire cell contents, <b>false</b> otherwise.</param>
            <param name="row">Index of the row where the text was found or -1 if no text was found.</param>
            <param name="column">Index of the column where the text was found or -1 if no text was found.</param>
            <returns><b>True</b> if text is found, <b>false</b> otherwise.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.ExportToHtml(System.String,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">
            <overloads>Exports all data from the range to a new file or XmlTextWriter in HTML format.</overloads>
            <summary>
            Exports all data from the range to a new file in HTML format.
            </summary>
            <param name="filePath">File path.</param>
            <param name="options">Options that describe exporting process. 
            If the value is null, new HtmlExporterOptions is created with <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowColumnLetters">HtmlExporterOptions.ShowColumnLetters</see> and <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowRowNumbers">HtmlExporterOptions.ShowRowNumbers</see> set to true.</param>
            <param name="indented">Saved file will use XmlTextWriter with Formatting property set to Formatting.Indented.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRange.ExportToHtml(System.Xml.XmlTextWriter,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">
            <summary>
            Exports all data from the range to a XmlTextWriter in HTML format.
            </summary>
            <param name="writer">Xml text writer.</param>
            <param name="options">Options that describe exporting process. 
            If the value is null, new HtmlExporterOptions is created with <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowColumnLetters">HtmlExporterOptions.ShowColumnLetters</see> and <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowRowNumbers">HtmlExporterOptions.ShowRowNumbers</see> set to true.</param>
            <param name="entirePage">If true, entire page will be exported. If false, only table will be exported.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.FirstRowIndex">
            <summary>
            Gets index of the first (topmost) row.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.FirstColumnIndex">
            <summary>
            Gets index of the first (leftmost) column.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.LastRowIndex">
            <summary>
            Gets index of the last (bottommost) row.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.LastColumnIndex">
            <summary>
            Gets index of the last (rightmost) column.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Width">
            <summary>
            Gets width of this cell range, in columns.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Height">
            <summary>
            Gets height of this cell range, in rows.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.StartPosition">
            <summary>
            Gets name of the first (top-left) cell in this cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.EndPosition">
            <summary>
            Gets name of the last (bottom-right) cell in this cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.IsAnyCellMerged">
            <summary>
            Returns <b>true</b> is any cell in this cell range is merged; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Item(System.Int32)">
            <overloads>Gets excel cell with the specified name or at the specified position.</overloads>
            <summary>
            Gets excel cell at the specified index.
            </summary>
            <param name="contextIndex">The zero-based context index of the cell.</param>
            <remarks>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Horizontal">RangeIndexingMode.Horizontal</see> context index  
            is specifying relative column position.</p>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Vertical">RangeIndexingMode.Vertical</see> context index
            is specifying relative row position.</p>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Rectangular">RangeIndexingMode.Rectangular</see> context index
            is specifying cell index inside cell range. The cell at <see cref="P:GemBox.Spreadsheet.CellRange.StartPosition">
            StartPosition</see> has index 0, and the cell at 
            <see cref="P:GemBox.Spreadsheet.CellRange.EndPosition">EndPosition</see> has index of 
            <see cref="P:GemBox.Spreadsheet.CellRange.Width">Width</see> x 
            <see cref="P:GemBox.Spreadsheet.CellRange.Height">Height</see> - 1.</p>
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.IndexingMode"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Item(System.Int32,System.Int32)">
            <summary>
            Gets excel cell at the specified relative position.
            </summary>
            <param name="relativeRow">The zero-based relative row position.</param>
            <param name="relativeColumn">The zero-based relative column position.</param>
            <remarks>
            Absolute position of excel cell is calculated by adding <i>relativeRow</i> and <i>relativeColumn</i> to
            <see cref="P:GemBox.Spreadsheet.CellRange.FirstRowIndex">FirstRowIndex</see> and 
            <see cref="P:GemBox.Spreadsheet.CellRange.FirstColumnIndex">FirstColumnIndex</see>.
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Item(System.String)">
            <summary>
            Gets excel cell with the specified full or partial name.
            </summary>
            <param name="contextName">Full or partial name of the cell.</param>
            <remarks>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Rectangular">RangeIndexingMode.Rectangular</see> full name of 
            the cell must be used (for example; "A1", "D7", etc.).</p>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Horizontal">RangeIndexingMode.Horizontal</see> column name  
            must be used (for example; "A", "D", etc.).</p>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.IndexingMode">IndexingMode</see> is 
            <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Vertical">RangeIndexingMode.Vertical</see> row name 
            must be used (for example; "1", "7", etc.).</p>
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.IndexingMode"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Merged">
            <summary>
            Gets or sets whether cells in this range are merged.
            </summary>
            <remarks>
            <p>By setting this property to <b>true</b>, you are merging all the cells 
            (<see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see>) in this range. Merging process will fail if any 
            of the cells in the range is already merged.</p>
            <p>When modifying merged cell, whole merged range is modified. For example, if you set 
            <see cref="P:GemBox.Spreadsheet.ExcelCell.Value">ExcelCell.Value</see>, value of merged range will be modified. 
            You can find out if the cell is merged by checking if 
            <see cref="P:GemBox.Spreadsheet.ExcelCell.MergedRange">ExcelCell.MergedRange</see> property is different 
            than <b>null</b>.</p>
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown when merged range can't be created because some of the cells
            in the range are already merged.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Comment">
            <summary>
            Gets or sets comment
            </summary>		
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Formula">
            <summary>
            Gets or sets formula string.
            </summary>
            <remarks>
            <p>GemBox.Spreadsheet can read and write formulas, but cannot calculate formula results. When you 
            open a XLS file in MS Excel, formula results will be calculated automatically.</p>
            <p>Old XLS format requires all formulas to be parsed and saved to XLS files as special
            tokens in RPN (Reverse Polish notation). GemBox.Spreadsheet only knows how to parse limited
            set of formulas listed below.</p>
            <p>New XLSX (Open XML) format stores formulas as strings and leaves formula parsing to applications
            that read XLSX documents. Therefore, ALL formulas are supported when writing/reading XLSX files.</p>
            <p>Depending on <see cref="P:GemBox.Spreadsheet.ExcelFile.DelayFormulaParse">
            ExcelFile.DelayFormulaParse</see> property, formula string can be parsed when this property is set
            or when one of <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.String)">
            ExcelFile.SaveXls</see> methods is called.</p>
            <p>GemBox.Spreadsheet formula parser will use English culture to parse numbers.</p>
            <p>Currently supported formula features by GemBox.Spreadsheet formula parser are:
            <list type="bullet">
            <item><description>Named cell</description></item>
            <item><description>Named range</description></item>
            <item><description>Absolute cell/range</description></item>
            <item><description>Relative cell/range</description></item>
            <item><description>Functions( partly, see the list of supported functions below )</description></item>
            <item><description>Missed argument</description></item>
            <item><description>Unary operator</description></item>
            <item><description>Binary operator</description></item>
            <item><description>Parentheses</description></item>
            <item><description>3d cell reference</description></item>
            <item><description>3d cell range reference</description></item>
            <item><description>Boolean</description></item>
            <item><description>Integer</description></item>
            <item><description>Float</description></item>
            <item><description>String</description></item>
            <item><description>Error</description></item>
            </list>
            </p>
            <p>
            Currently unsupported formula features are:
            <list type="bullet">
            <item><description>Const array</description></item>
            <item><description>Array formula</description></item>
            <item><description>R1C1 reference</description></item>
            </list>
            </p>
            <p>
            Currently supported functions are:
            <list type="bullet">
            <item><description>NOW</description></item>
            <item><description>SECOND</description></item>
            <item><description>MINUTE</description></item>
            <item><description>HOUR</description></item>
            <item><description>WEEKDAY</description></item>
            <item><description>YEAR</description></item>
            <item><description>MONTH</description></item>
            <item><description>DAY</description></item>
            <item><description>TIME</description></item>
            <item><description>DATE</description></item>
            <item><description>RAND</description></item>
            <item><description>TEXT</description></item>
            <item><description>VAR</description></item>
            <item><description>MOD</description></item>
            <item><description>NOT</description></item>
            <item><description>OR</description></item>
            <item><description>AND</description></item>
            <item><description>FALSE</description></item>
            <item><description>TRUE</description></item>
            <item><description>VALUE</description></item>
            <item><description>LEN</description></item>
            <item><description>MID</description></item>
            <item><description>ROUND</description></item>
            <item><description>SIGN</description></item>
            <item><description>INT</description></item>
            <item><description>ABS</description></item>
            <item><description>LN</description></item>
            <item><description>EXP</description></item>
            <item><description>SQRT</description></item>
            <item><description>PI</description></item>
            <item><description>COS</description></item>
            <item><description>SIN</description></item>
            <item><description>COLUMN</description></item>
            <item><description>ROW</description></item>
            <item><description>MAX</description></item>
            <item><description>MIN</description></item>
            <item><description>AVERAGE</description></item>
            <item><description>SUM</description></item>
            <item><description>IF</description></item>
            <item><description>COUNT</description></item>
            <item><description>SUBTOTAL</description></item>
            </list>
            </p>
            <p>
            For more information on formulas, consult Microsoft Excel documentation.
            </p>
            </remarks>
            <exception cref="T:System.InvalidOperationException">Thrown if property get is attempted on a cell range 
            which is not merged.</exception>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="M:GemBox.Spreadsheet.NamedRangeCollection.Add(System.String,GemBox.Spreadsheet.CellRange,System.Boolean)">
            NamedRangeCollection.Add</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Value">
            <summary>
            Gets or sets cell value on one or more excel cells.
            </summary>
            <remarks>
            <p>Property set will set value of multiple cells or of a merged range.</p>
            <p>Property get has meaning only if range is <see cref="P:GemBox.Spreadsheet.CellRange.Merged">Merged</see>; 
            otherwise, exception is thrown.</p>
            </remarks>
            <exception cref="T:System.InvalidOperationException">Thrown if property get is attempted on a cell range 
            which is not merged.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.Style">
            <summary>
            Gets or sets cell style (<see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see>) on one or more excel cells.
            </summary>
            <remarks>
            <p>Property set will set style of multiple cells or of a merged range.</p>
            <p>Property get has meaning only if range is <see cref="P:GemBox.Spreadsheet.CellRange.Merged">Merged</see>; 
            otherwise, exception is thrown.</p>
            <p> Note that for <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property set on a cell range that 
is not merged, you can't use the following format:
<code lang="Visual Basic">
	Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells
	cr.Style.Rotation = 30
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;
	cr.Style.Rotation = 30;
</code>
because that would first call <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property get method and that 
will certainly fail because <see cref="P:GemBox.Spreadsheet.CellRange.Style">Style</see> property get is defined only 
for a merged cell range. </p><p>Instead you can use two different code patterns, depending on whether you want to replace or combine the existing 
cell range styles with the new style.</p><p>
If you want to <b>replace</b> cell style on every cell in a cell range use the following code:
<code lang="Visual Basic">
	Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells
	Dim style As CellStyle = New CellStyle()
	style.Rotation = 30
	cr.Style = style
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;
	CellStyle style = new CellStyle();
	style.Rotation = 30;
	cr.Style = style;
</code>
</p><p>
If you want to <b>set</b> cell style property on every cell in a cell range (other cell style property values will 
remain unchanged) use the following code:
<code lang="Visual Basic">
    Dim cell As ExcelCell
    For Each cell In excelFile.Worksheets(0).Rows(1).Cells
        cell.Style.Rotation = 30
    Next
</code>
<code lang="C#">
	foreach(ExcelCell cell in excelFile.Worksheets[0].Rows[1].Cells)
		cell.Style.Rotation = 30;
</code>
</p>
            </remarks>
            <exception cref="T:System.InvalidOperationException">Thrown if property get is attempted on a cell range 
            which is not merged.</exception>
            <seealso cref="P:GemBox.Spreadsheet.CellRange.Merged"/>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.IsStyleDefault">
            <summary>
            Returns <b>true</b> if all cells in cell range or merged range have default 
            cell style; otherwise, <b>false</b>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRange.IndexingMode">
            <summary>
            Gets indexing mode used for cell range.
            </summary>
            <remarks>
            <p>If <see cref="P:GemBox.Spreadsheet.CellRange.Height">Height</see> is 1, indexing mode 
            is <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Horizontal">Horizontal</see>.</p>
            <p>Otherwise, if <see cref="P:GemBox.Spreadsheet.CellRange.Width">Width</see> is 1, indexing mode 
            is <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Vertical">Vertical</see>.</p>
            <p>Otherwise, indexing mode is <see cref="F:GemBox.Spreadsheet.RangeIndexingMode.Rectangular">
            Rectangular</see>.</p>
            </remarks>
            <example> Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how 
indexing works different in different context. <see cref="M:GemBox.Spreadsheet.CellRange.SetBorders(GemBox.Spreadsheet.MultipleBorders,System.Drawing.Color,GemBox.Spreadsheet.LineStyle)">SetBorders</see> 
method is used to mark outside borders of the rectangular range.
<code lang="Visual Basic">
    Dim cr As CellRange = excelFile.Worksheets(0).Rows(1).Cells

    cr(0).Value = cr.IndexingMode
    cr(3).Value = "D2"
    cr("B").Value = "B2"

    cr = excelFile.Worksheets(0).Columns(4).Cells

    cr(0).Value = cr.IndexingMode
    cr(2).Value = "E3"
    cr("5").Value = "E5"

    cr = excelFile.Worksheets(0).Cells.GetSubrange("F2", "J8")
    cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed)

    cr("I7").Value = cr.IndexingMode
    cr(0, 0).Value = "F2"
    cr("G3").Value = "G3"
    cr(5).Value = "F3" <font color="Green">' Cell range width is 5 (F G H I J).</font>
</code>
<code lang="C#">
	CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;				

	cr[0].Value = cr.IndexingMode;
	cr[3].Value = "D2";
	cr["B"].Value = "B2";

	cr = excelFile.Worksheets[0].Columns[4].Cells;

	cr[0].Value = cr.IndexingMode;
	cr[2].Value = "E3";
	cr["5"].Value = "E5";

	cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
	cr.SetBorders(MultipleBorders.Outside, Color.Navy, LineStyle.Dashed);

	cr["I7"].Value = cr.IndexingMode;
	cr[0,0].Value = "F2";
	cr["G3"].Value = "G3";
	cr[5].Value = "F3"; <font color="Green">// Cell range width is 5 (F G H I J).</font>
</code>
</example>
        </member>
        <member name="T:GemBox.Spreadsheet.CellRangeEnumerator">
            <summary>
            Enumerator used for iterating cells in a <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRangeEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is one column before 
            the first cell in the cell range.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.CellRangeEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next element of the cell range.
            </summary>
            <returns>
            <b>true</b> if the enumerator was successfully advanced to the next element; <b>false</b> if 
            the enumerator has passed the end of the cell range.
            </returns>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRangeEnumerator.Parent">
            <summary>
            Parent <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see>. 
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRangeEnumerator.CurrentRow">
            <summary>
            Current absolute row index in the cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRangeEnumerator.CurrentColumn">
            <summary>
            Current absolute column index in the cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRangeEnumerator.Current">
            <summary>
            Gets the current element in the cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.CellRangeEnumerator.CurrentCell">
            <summary>
            Gets the current <see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see> in the cell range.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.MergedCellRange.Formula">
            <summary>
            Gets or sets merged range formula string.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.MergedCellRange.Comment">
            <summary>
            Gets or sets cell comment.
            </summary>
            <remarks>
            <p>
            You can set comment text, set whether comment will be visible during loading xls file or not.
            Additinally you can get column or row of the excel cell to which this comment is assigned.
            </p>
            </remarks>
            <example>
Following code demonstrates how to use comments. It shows next features: 
<list type="number">
<item> comment text setting </item>
<item> comment' IsVisible property in action </item>
</list>
<code lang="Visual Basic">		
	excelFile.Worksheets(0).Cells(0, 0).Comment.Text = "comment1" 
	excelFile.Worksheets(0).Cells(0, 0).Comment.IsVisible = False
</code>
<code lang="C#">
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.Text = "comment1";
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.IsVisible = false;
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientAnchorRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientAnchorRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.FormulaTokenTypeEx">
            <summary>
            It is wrapper arodung FormulaTokenType enum to provide high-level bool methods
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokenTypeEx.#ctor(GemBox.Spreadsheet.FormulaTokenType)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaTokenTypeEx"/> class.
            </summary>
            <param name="type">The type.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.Type">
            <summary>
            Gets the formula token type.
            </summary>
            <value>The formula token type.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.IsBinary">
            <summary>
            Gets a value indicating whether this instance is binary.
            </summary>
            <value><c>true</c> if this instance is binary; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.IsUnary">
            <summary>
            Gets a value indicating whether this instance is unary.
            </summary>
            <value><c>true</c> if this instance is unary; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.IsOperand">
            <summary>
            Gets a value indicating whether this instance is operand.
            </summary>
            <value>
            	<c>true</c> if this instance is operand; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.IsFunction">
            <summary>
            Gets a value indicating whether this instance is function.
            </summary>
            <value>
            	<c>true</c> if this instance is function; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:GemBox.Spreadsheet.FormulaTokenTypeEx.IsControl">
            <summary>
            Gets a value indicating whether this instance is control.
            </summary>
            <value>
            	<c>true</c> if this instance is control; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelFile">
            <summary>
            Excel file contains one or more worksheets (<see cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</see>)
            and workbook related properties and methods.
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelWorksheet"/>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxXlsColors">
            <summary>
            Maximum number of colors in XLS (BIFF8) file.
            </summary>
            <remarks>
            This number includes 8 default colors:
            <see cref="P:System.Drawing.Color.Black">Color.Black</see>, 
            <see cref="P:System.Drawing.Color.White">Color.White</see>,
            <see cref="P:System.Drawing.Color.Red">Color.Red</see>, 
            <see cref="P:System.Drawing.Color.Green">Color.Green</see>,
            <see cref="P:System.Drawing.Color.Blue">Color.Blue</see>, 
            <see cref="P:System.Drawing.Color.Yellow">Color.Yellow</see>,
            <see cref="P:System.Drawing.Color.Magenta">Color.Magenta</see> and
            <see cref="P:System.Drawing.Color.Cyan">Color.Cyan</see>.
            </remarks>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxXlsCellStyles">
            <summary>
            Maximum number of user-defined cell styles in XLS (BIFF8) file.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxXlsRows">
            <summary>
            Maximum number of rows in XLS (BIFF8) file.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxXlsColumns">
            <summary>
            Maximum number of columns in XLS (BIFF8) file.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxRows">
            <summary>
            Maximum number of rows in <see cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</see>.
            </summary>
            <remarks>
            If you read/write XLS files, you are also limited by
            <see cref="F:GemBox.Spreadsheet.ExcelFile.MaxXlsRows">ExcelFile.MaxXlsRows</see>.
            </remarks>
        </member>
        <member name="F:GemBox.Spreadsheet.ExcelFile.MaxColumns">
            <summary>
            Maximum number of columns in <see cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</see>.
            </summary>
            <remarks>
            If you read/write XLS files, you are also limited by
            <see cref="F:GemBox.Spreadsheet.ExcelFile.MaxXlsColumns">ExcelFile.MaxXlsColumns</see>.
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.#ctor">
            <summary>
            Initializes an empty (no worksheets) instance of the ExcelFile class.
            </summary>
            <remarks>
            <p>To add new worksheets to a blank file use <see cref="P:GemBox.Spreadsheet.ExcelFile.Worksheets">
            Worksheets</see> property, <see cref="M:GemBox.Spreadsheet.ExcelWorksheetCollection.Add(System.String)">Add</see> method.</p>
            <p>To save created file use <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.String)">SaveXls(string)</see> / 
            <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.IO.Stream)">SaveXls(Stream)</see> or 
            <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.String,GemBox.Spreadsheet.CsvType)">SaveCsv</see> method.</p>
            <p>To read existing file or use existing file as a template use 
            <see cref="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.String,GemBox.Spreadsheet.XlsOptions)">LoadXls(string,XlsOptions)</see> /
            <see cref="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.IO.Stream,GemBox.Spreadsheet.XlsOptions)">LoadXls(Stream,XlsOptions)</see>
            or <see cref="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.String,GemBox.Spreadsheet.CsvType)">LoadCsv</see> method.</p>
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.String)">
            <overloads>Saves all data to a file or stream in XLS format.</overloads>
            <summary>
            Saves all data to a new file in XLS format.
            </summary>
            <param name="fileName">File name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.IO.Stream)">
            <summary>
            Saves all data to an output stream in XLS format.
            </summary>
            <param name="stream">Output stream.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.IO.Stream,GemBox.Spreadsheet.CsvType)">
            <overloads>Saves all data to a new file or stream in CSV format.</overloads>
            <summary>
            Saves all data to a stream in a specified CSV format.
            </summary>
            <param name="stream">Output stream.</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.IO.Stream,System.Char)">
            <summary>
            Saves all data to a stream, using specified character as a delimiter.
            </summary>
            <param name="stream">Output stream.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.IO.StreamWriter,GemBox.Spreadsheet.CsvType)">
            <summary>
            Saves all data using specified StreamWriter and CSV Type.
            </summary>
            <remarks>
            Use this overload if you want to use a StreamWriter with non-default encoding. 
            Note that .NET Framework adds byte order mark (BOM) to files with non-default 
            encoding. MS Excel and other programs may fail to recognize CSV files with 
            non-default encoding.
            </remarks>
            <param name="sw">Stream writer.</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.IO.StreamWriter,System.Char)">
            <summary>
            Saves all data using specified StreamWriter and character delimiter.
            </summary>
            <remarks>
            Use this overload if you want to use a StreamWriter with non-default encoding. 
            Note that .NET Framework adds byte order mark (BOM) to files with non-default 
            encoding. MS Excel and other programs may fail to recognize CSV files with 
            non-default encoding.
            </remarks>
            <param name="sw">Stream writer.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.String,GemBox.Spreadsheet.CsvType)">
            <summary>
            Saves all data to a new file in a specified CSV format.
            </summary>
            <param name="fileName">File name.</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveCsv(System.String,System.Char)">
            <summary>
            Saves all data to a new file, using specified character as a delimiter.
            </summary>
            <param name="fileName">File name.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveXlsxToDirectory(System.String)">
            <summary>
            Saves all parts of XLSX file as separate files to output directory.
            </summary>
            <remarks>
            You need to use external ZIP library to package all created files to XLSX file.
            </remarks>
            <param name="path">Path of output directory.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadXlsxFromDirectory(System.String,GemBox.Spreadsheet.XlsxOptions)">
            <summary>
            Loads all parts of XLSX file as separate files from input directory.
            </summary>
            <remarks>
            You need to use external ZIP library to extract all parts from XLSX file.
            XlsxOptions.PreserveMakeCopy option does not work with LoadXlsxFromDirectory method.
            </remarks>
            <param name="path">Path of input directory.</param>
            <param name="xlsxOptions">XLS options.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.String)">
            <overloads>Loads the existing XLS file or stream.</overloads>
            <summary>
            Loads the existing XLS file (preserving MS Excel records).
            </summary>
            <param name="fileName">Existing XLS file name (opened for reading).</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.String,GemBox.Spreadsheet.XlsOptions)">
            <summary>
            Loads the existing XLS file (optionally preserving MS Excel records).
            </summary>
            <remarks>
            <p>If the only purpose of loading the file is to read data values and formatting using 
            GemBox.Spreadsheet API, you should use <i>xlsOptions</i> set to <see cref="F:GemBox.Spreadsheet.XlsOptions.None">XlsOptions.None</see>
            as this will speed up the loading process.</p>
            <p>If you load the existing file to use it as template for a new file, you can choose
            whether you want to preserve specific MS Excel records not recognized by GemBox.Spreadsheet API.</p>
            </remarks>
            <param name="fileName">Existing XLS file name (opened for reading).</param>
            <param name="xlsOptions">XLS options.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.IO.Stream)">
            <summary>
            Loads the existing XLS file from the input stream (preserving MS Excel records).
            </summary>
            <param name="stream">Input stream.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadXls(System.IO.Stream,GemBox.Spreadsheet.XlsOptions)">
            <summary>
            Loads the existing XLS file from the input stream (optionally preserving MS Excel records).
            </summary>
            <remarks>
            <p>If the only purpose of loading the file is to read data values and formatting using 
            GemBox.Spreadsheet API, you should use <i>xlsOptions</i> set to <see cref="F:GemBox.Spreadsheet.XlsOptions.None">XlsOptions.None</see>
            as this will speed up the loading process.</p>
            <p>If you load the existing file to use it as template for a new file, you can choose
            whether you want to preserve specific MS Excel records not recognized by GemBox.Spreadsheet API.</p>
            </remarks>
            <param name="stream">Input stream.</param>
            <param name="xlsOptions">XLS options.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.IO.Stream,GemBox.Spreadsheet.CsvType)">
            <overloads>Loads the existing CSV file or stream.</overloads>
            <summary>
            Loads the existing stream with specified CSV format.
            </summary>
            <param name="stream">Input stream.</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.IO.Stream,System.Char)">
            <summary>
            Loads the existing stream, using specified character as a delimiter.
            </summary>
            <param name="stream">Input stream.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.IO.StreamReader,GemBox.Spreadsheet.CsvType)">
            <summary>
            Loads all data using specified StreamReader and CSV Type.
            </summary>
            <remarks>
            Use this overload if you want to use a StreamReader with non-default encoding. 
            </remarks>
            <param name="sr">Stream reader.</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.IO.StreamReader,System.Char)">
            <summary>
            Loads all data using specified StreamReader and character delimiter.
            </summary>
            <remarks>
            Use this overload if you want to use a StreamReader with non-default encoding. 
            </remarks>
            <param name="sr">Stream reader.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.String,GemBox.Spreadsheet.CsvType)">
            <summary>
            Loads the existing file with specified CSV format.
            </summary>
            <param name="fileName">Existing CSV file name (opened for reading).</param>
            <param name="csvType">CSV type.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.String,System.Char)">
            <summary>
            Loads the existing file, using specified character as a delimiter.
            </summary>
            <param name="fileName">File name.</param>
            <param name="separator">Separator used for delimiting data values.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.DumpToLowLevelXml(System.String,System.String)">
            <summary>
            Internal.  
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <exclude/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SupportsType(System.Type)">
            <summary>
            Gets a value indicating whether the objects of specified type can be assigned 
            to <see cref="P:GemBox.Spreadsheet.ExcelCell.Value">ExcelCell.Value</see> property.
            </summary>
            <param name="type">Queried type.</param>
            <remarks>
            Currently supported types are:
            <list type="bullet">
            <item><description>System.DBNull</description></item>
            <item><description>System.Byte</description></item>
            <item><description>System.SByte</description></item>
            <item><description>System.Int16</description></item>
            <item><description>System.UInt16</description></item>
            <item><description>System.Int64</description></item>
            <item><description>System.UInt64</description></item>
            <item><description>System.UInt32</description></item>
            <item><description>System.Int32</description></item>
            <item><description>System.Single</description></item>
            <item><description>System.Double</description></item>
            <item><description>System.Boolean</description></item>
            <item><description>System.Char</description></item>
            <item><description>System.Text.StringBuilder</description></item>
            <item><description>System.Decimal</description></item>
            <item><description>System.DateTime</description></item>
            <item><description>System.String</description></item>
            </list>
            </remarks>
            <returns><b>true</b> if the specified type is supported; otherwise, <b>false</b>.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveHtml(System.String,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">
            <overloads>Saves the data from used range of the active worksheet to a new file or XmlTextWriter in HTML format.</overloads>
            <summary>
            Saves the data from used range of the active worksheet to a new file in HTML format.
            </summary>
            <remarks>For HTML export <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultPageToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">DefaultHtmlExporter.DefaultPageToHtml</see> or <see cref="M:GemBox.Spreadsheet.CellRange.ExportToHtml(System.String,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">CellRange.ExportToHtml</see> metods can be used.</remarks>
            <param name="filePath">File path.</param>
            <param name="options">Options that describe exporting process. 
            If the value is null, new HtmlExporterOptions is created with <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowColumnLetters">HtmlExporterOptions.ShowColumnLetters</see> and <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowRowNumbers">HtmlExporterOptions.ShowRowNumbers</see> set to true.</param>
            <param name="indented">Saved file will use XmlTextWriter with Formatting property set to Formatting.Indented.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelFile.SaveHtml(System.Xml.XmlTextWriter,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">
            <summary>
            Saves the data from used range of the active worksheet to a XmlTextWriter in HTML format.
            </summary>
            <remarks>For HTML export <see cref="M:GemBox.Spreadsheet.DefaultHtmlExporter.DefaultPageToHtml(GemBox.Spreadsheet.HtmlExporterOptions,GemBox.Spreadsheet.CellRange)">DefaultHtmlExporter.DefaultPageToHtml</see> or <see cref="M:GemBox.Spreadsheet.CellRange.ExportToHtml(System.String,GemBox.Spreadsheet.HtmlExporterOptions,System.Boolean)">CellRange.ExportToHtml</see> metods can be used.</remarks>
            <param name="writer">Xml text writer.</param>
            <param name="options">Options that describe exporting process. 
            If the value is null, new HtmlExporterOptions is created with <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowColumnLetters">HtmlExporterOptions.ShowColumnLetters</see> and <see cref="P:GemBox.Spreadsheet.HtmlExporterOptions.ShowRowNumbers">HtmlExporterOptions.ShowRowNumbers</see> set to true.</param>
            <param name="entirePage">If true, entire page will be exported. If false, only table will be exported.</param>
        </member>
        <member name="E:GemBox.Spreadsheet.ExcelFile.LimitNear">
            <summary>
            Occurs when the size of XLS / CSV file in reading / writing is near 
            <b>GemBox.Spreadsheet Free</b> limit. <b>(Free version only)</b>
            </summary>
            <remarks>
            <p><b>This event is present only in Free version.</b></p>
            <p>This event is fired when 80% of maximum row count per worksheet is reached (150 * 0.8 = 120 rows) or 
            when 5 worksheets are used.</p>
            <p>This event is not fired if <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> 
            event is fired.</p>
            <p>You can use this event to detect when your application is close to <b>GemBox.Spreadsheet Free</b> limit. 
            For example, you can write number of used rows to a log file or send a notification e-mail.</p>
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
            <seealso cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached"/>
        </member>
        <member name="E:GemBox.Spreadsheet.ExcelFile.LimitReached">
            <summary>
            Occurs when the size of XLS / CSV file in reading / writing is above 
            <b>GemBox.Spreadsheet Free</b> limit. <b>(Free version only)</b>
            </summary>
            <remarks>
            <p><b>This event is present only in Free version.</b></p>
            <p>This event is fired when maximum row count per worksheet is reached (150 rows) or 
            when more than 5 worksheets are used.</p>
            <p>You can use this event to notify a user of your application that data is 
            only partially read / written.</p>
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
            <seealso cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear"/>
        </member>
        <member name="E:GemBox.Spreadsheet.ExcelFile.IoWarning">
            <summary>
            Fired for unexpected situations when reading or writing XLS / CSV files.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.Worksheets">
            <summary>
            Collection of all worksheets (<see cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</see>) in a workbook. 
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelWorksheet"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">
            <summary>
            Gets or sets the <see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see> resolution method.
            </summary>
            <remarks>
            <p>
            Because of limitations of Microsoft Excel file format, every cell must be written to file with
            resolved <see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see>. In the case where a cell doesn't 
            have specific property set on its <see cref="P:GemBox.Spreadsheet.ExcelCell.Style">Style</see> and that 
            property is set on both row and column that contain that cell, a cell will inherit property value 
            from row or column <see cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.Style">Style</see>, depending 
            on the resolution method.
            </p>
            <p>
            Default value for this property is <see cref="F:GemBox.Spreadsheet.RowColumnResolutionMethod.RowOverColumn">
            RowOverColumn</see>.
            </p>
            </remarks>
            <example> Following code will result in a file where cell will have right alignment because same column cell 
style property takes precedence over row cell style property. Note that resolution is property based, in 
other words if column in this case had <see cref="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment">
VerticalAlignment</see> set cell would inherit both <see cref="P:GemBox.Spreadsheet.CellStyle.HorizontalAlignment">
HorizontalAlignment</see> and <see cref="P:GemBox.Spreadsheet.CellStyle.VerticalAlignment">VerticalAlignment</see> 
from row and column. 
<code lang="Visual Basic">
	excelFile.RowColumnResolutionMethod = RowColumnResolutionMethod.ColumnOverRow
	excelFile.Worksheets(0).Cells("B2").Value = "B2"
	excelFile.Worksheets(0).Rows("2").Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
	excelFile.Worksheets(0).Columns("B").Style.HorizontalAlignment = HorizontalAlignmentStyle.Right
</code>
<code lang="C#">
	excelFile.RowColumnResolutionMethod = RowColumnResolutionMethod.ColumnOverRow;
	excelFile.Worksheets[0].Cells["B2"].Value = "B2";
	excelFile.Worksheets[0].Rows["2"].Style.HorizontalAlignment = HorizontalAlignmentStyle.Center;
	excelFile.Worksheets[0].Columns["B"].Style.HorizontalAlignment = HorizontalAlignmentStyle.Right;
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.Protected">
            <summary>
            Gets or sets the workbook protection flag.
            </summary>
            <remarks>
            This property is simply written to Excel file and has no effect on the behavior of this library.
            For more information on workbook protection, consult Microsoft Excel documentation.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelWorksheet.Protected">ExcelWorksheet.Protected</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.GroupMethodsAffectedCellsLimit">
            <summary>
            Maximum number of affected cells in group set methods.
            </summary>
            <remarks>
            If user tries to modify all cells in a group which has more cells than specified limit, exception
            will be thrown. This property was introduced to prevent users from accidentally modifying millions
            of cells which results in a long delay, a large memory allocation and a big resulting file. You can 
            set this limit to value which suits your needs (minimum is 5).
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.Use1904DateSystem">
            <summary>
            Gets or sets whether 1904 date system is used.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            For more information on 1904 date system, consult Microsoft Excel documentation.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.CsvParseNumbersDuringLoad">
            <summary>
            Gets or sets whether LoadCsv() methods will try to convert text values to numbers.
            </summary>
            <remarks>
            <p>Default value for this property is <b>true</b>.</p>
            <p>All values (including numbers) in CSV files are stored as text. By default, 
            any of <see cref="M:GemBox.Spreadsheet.ExcelFile.LoadCsv(System.String,System.Char)">LoadCsv()</see> 
            overloads will try to parse text values as numbers and if successful
            cell will be filled with <see cref="T:System.Double">Double</see> value. If
            you don't want such behaviour (for example, you want IDs like "00935" to remain
            strings), set this property to <b>false</b>.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.DefaultFontName">
            <summary>
            Gets or sets name of the default font used in the workbook.
            </summary>
            <remarks>
            Default value for this property is "Arial".
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.DefaultFontSize">
            <summary>
            Gets or sets default font size.
            </summary>
            <remarks>
            <p>Unit is twip (1/20th of a point).</p>
            <p>Default value of this property is 200.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.DelayFormulaParse">
            <summary>
            Delays formula parsing until one of SaveXls methods is called.
            </summary>
            <remarks>
            <p>Old XLS format requires all formulas to be parsed and saved to XLS files as special
            tokens in RPN (Reverse Polish notation). GemBox.Spreadsheet only knows how to parse limited
            set of formulas listed at <see cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</see>
            page. Only listed formulas can be saved to XLS file.</p>
            <p>New XLSX (Open XML) format stores formulas as strings and leaves formula parsing to applications
            that read XLSX documents. Therefore, ALL formulas are supported when writing/reading XLSX files.</p>
            <p>If this property is true, each set of <see cref="P:GemBox.Spreadsheet.ExcelCell.Formula">
            ExcelCell.Formula</see> property will just store formula string. When one of
            <see cref="M:GemBox.Spreadsheet.ExcelFile.SaveXls(System.String)">ExcelFile.SaveXls</see> methods is called
            formulas are parsed and exception is thrown if formula is not supported or in bad format.
            When XLSX is saved, formulas are not parsed, they are just saved as strings.
            If the formula is in bad format, MS Excel or other application will report an error in formula.
            </p>
            <p>If this property is false, formula string is parsed every time you set 
            <see cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</see> property. You will
            limit formulas to the ones supported by GemBox.Spreadsheet parser and the exception will be
            thrown immediately if the formula is not supported or in bad format.</p>
            <p>Default value of this property is <b>true</b>.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelFile.DefinedNames">
            <summary>
            Gets the collection of defined names that are not directly related with one cell range.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NumberFormatCollection.SetNumberFormat(System.Int32,System.String)">
            <summary>
            This method is designed to be used ONLY for Excel file reading.
            </summary>
            <param name="index"></param>
            <param name="formatString"></param>
        </member>
        <member name="T:GemBox.Spreadsheet.XlsOptions">
            <summary>
            Options specified when reading XLS files.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.None">
            <summary>
            Do not preserve records. Only records fully supported by GemBox.Spreadsheet API will be loaded.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.PreserveGlobalRecords">
            <summary>
            Preserve global (workbook) records.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.PreserveWorksheetRecords">
            <summary>
            Preserve worksheet records.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.PreserveSummaries">
            <summary>
            Preserve summaries.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.PreserveMacros">
            <summary>
            Preserve macros and VBA code.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsOptions.PreserveAll">
            <summary>
            Preserve all possible information.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.XlsxOptions">
            <summary>
            Options specified when reading XLSX files.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsxOptions.None">
            <summary>
            Do not preserve XLSX parts. Only parts recognized by GemBox.Spreadsheet API will be loaded.
            Use this if you are just loading XLSX file or you don't want to preserve unrecognized 
            XLSX parts for next save.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsxOptions.PreserveKeepOpen">
            <summary>
            Preserves unrecognized XLSX parts in a way it keeps loaded file open. Use if locking of input file
            for reading is not a problem and you want to save RAM/CPU when working with large files.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.XlsxOptions.PreserveMakeCopy">
            <summary>
            Preserves unrecognized XLSX parts in a way it makes a copy of input file in memory. Use if 
            locking of input file presents a problem or you are not working with large files.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.CsvType">
            <summary>
            Formatting type for CSV files.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.CsvType.CommaDelimited">
            <summary>
            Comma delimited CSV (most frequently used). 
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.CsvType.SemicolonDelimited">
            <summary>
            Semicolon delimited CSV (used by Excel if current culture specifies comma as decimal separator).
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.CsvType.TabDelimited">
            <summary>
            Tab delimited CSV.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.RowColumnResolutionMethod">
            <summary>
            Defines different methods of <see cref="T:GemBox.Spreadsheet.CellStyle">CellStyle</see> resolution.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</seealso>
        </member>
        <member name="F:GemBox.Spreadsheet.RowColumnResolutionMethod.RowOverColumn">
            <summary>
            Row has precedence over column.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</seealso>
        </member>
        <member name="F:GemBox.Spreadsheet.RowColumnResolutionMethod.ColumnOverRow">
            <summary>
            Column has precedence over row.
            </summary>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.RowColumnResolutionMethod">ExcelFile.RowColumnResolutionMethod</seealso>
        </member>
        <member name="T:GemBox.Spreadsheet.LimitEventHandler">
            <summary>
            Delegate for handling the <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">ExcelFile.LimitNear</see>
            and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">ExcelFile.LimitReached</see> 
            events. <b>(Free version only)</b>
            </summary>
            <remarks>
            <p><b>This delegate is present only in Free version.</b></p>
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.LimitEventArgs">
            <summary>
            Event parameters used for the <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">ExcelFile.LimitNear</see>
            and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">ExcelFile.LimitReached</see> 
            events. <b>(Free version only)</b>
            </summary>
            <remarks>
            <p><b>This class is present only in Free version.</b></p>
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.LimitEventArgs.FileName">
            <summary>
            Gets the file name passed to the XLS / CSV file reading / writing method.
            </summary>
            <remarks>
            You can use this property to handle different files in a different way inside your event handlers.
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.LimitEventArgs.Operation">
            <summary>
            Indicates which operation caused this event to fire.
            </summary>
            <remarks>
            You can use this property to handle XLS / CSV or reading / writing operations differently 
            inside your event handlers.
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.LimitEventArgs.MaxRowCount">
            <summary>
            Gets the maximum number of rows used.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.LimitEventArgs.WorksheetCount">
            <summary>
            Gets the number of worksheets used.
            </summary>
            <remarks>
            <p>For CSV files, this is always 1 (as only 
            <see cref="P:GemBox.Spreadsheet.ExcelWorksheetCollection.ActiveWorksheet">ActiveWorksheet</see> is used).</p>
            <p>When writing XLS files, warning worksheet is not counted.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.LimitEventArgs.WriteWarningWorksheet">
            <summary>
            Gets or sets whether the warning worksheet should be created when writing XLS file.
            </summary>
            <remarks>
            This property is ignored for CSV files and when reading XLS files.
            </remarks>
            <example> Following code demonstrates how to handle <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> 
and <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> events in <b>GemBox.Spreadsheet Free</b>. 
This sample disables warning worksheet in <see cref="E:GemBox.Spreadsheet.ExcelFile.LimitNear">LimitNear</see> event 
handler and displays console messages in 
<see cref="E:GemBox.Spreadsheet.ExcelFile.LimitReached">LimitReached</see> event handler.
<code lang="Visual Basic">
    Sub Main()
        Dim ef As ExcelFile = New ExcelFile

        AddHandler ef.LimitNear, AddressOf ef_LimitNear
        AddHandler ef.LimitReached, AddressOf ef_LimitReached

        Dim ws As ExcelWorksheet = ef.Worksheets.Add("Sheet1")

        Dim i As Integer
        For i = 0 To 172 - 1 Step i + 1
            ws.Cells(i, 0).Value = i
        Next

        ef.SaveXls("Test.xls")
    End Sub

    Private Sub ef_LimitNear(ByVal sender As Object, ByVal e As LimitEventArgs)
        e.WriteWarningWorksheet = False
    End Sub

    Private Sub ef_LimitReached(ByVal sender As Object, ByVal e As LimitEventArgs)
        Select Case e.Operation
            Case IoOperation.XlsReading
                Console.WriteLine("Data truncated while reading XLS file: " + e.FileName)

            Case IoOperation.CsvReading
                Console.WriteLine("Data truncated while reading CSV file: " + e.FileName)

            Case IoOperation.XlsWriting
                Console.WriteLine("Data truncated while writing XLS file: " + e.FileName)
                e.WriteWarningWorksheet = False

            Case IoOperation.CsvWriting
                Console.WriteLine("Data truncated while writing CSV file: " + e.FileName)

        End Select
    End Sub
</code>
<code lang="C#">
	static void Main(string[] args)
	{
		ExcelFile ef = new ExcelFile();

		ef.LimitNear += new LimitEventHandler(ef_LimitNear);
		ef.LimitReached += new LimitEventHandler(ef_LimitReached);

		ExcelWorksheet ws = ef.Worksheets.Add("Sheet1");

		for(int i=0; i!=172; i++)
			ws.Cells[i, 0].Value = i;

		ef.SaveXls("Test.xls");
	}

	private static void ef_LimitNear(object sender, LimitEventArgs e)
	{
		e.WriteWarningWorksheet = false;
	}

	private static void ef_LimitReached(object sender, LimitEventArgs e)
	{
		switch(e.Operation)
		{
			case IoOperation.XlsReading:
				Console.WriteLine("Data truncated while reading XLS file: " + e.FileName);
				break;

			case IoOperation.CsvReading:
				Console.WriteLine("Data truncated while reading CSV file: " + e.FileName);
				break;

			case IoOperation.XlsWriting:
				Console.WriteLine("Data truncated while writing XLS file: " + e.FileName);
				e.WriteWarningWorksheet = false;
				break;

			case IoOperation.CsvWriting:
				Console.WriteLine("Data truncated while writing CSV file: " + e.FileName);
				break;
		}
	}
</code> 
</example>
        </member>
        <member name="T:GemBox.Spreadsheet.IoWarningEventHandler">
            <summary>
            Delegate for handling the notification events.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.IoOperation">
            <summary>
            Possible operations that can fire notification events.
            </summary>
            <remarks>
            This enumeration is used as event argument in notification events.
            </remarks>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.XlsReading">
            <summary>
            XLS reading methods.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.CsvReading">
            <summary>
            CSV reading methods.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.XlsWriting">
            <summary>
            XLS writing methods.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.CsvWriting">
            <summary>
            CSV writing methods.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.XlsxReading">
            <summary>
            XLSX reading methods.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.IoOperation.XlsxWriting">
            <summary>
            XLSX writing methods.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.IoWarningEventArgs">
            <summary>
            Warning event arguments class used by the event which is raised on warning happens in the excel lite library
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.IoWarningEventArgs.FileName">
            <summary>
            Gets the file name passed to the XLS / CSV file reading / writing method.
            </summary>
            <remarks>
            You can use this property to handle different files in a different way inside your event handlers.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.IoWarningEventArgs.Operation">
            <summary>
            Indicates which operation caused this event to fire.
            </summary>
            <remarks>
            You can use this property to handle XLS / CSV or reading / writing operations differently 
            inside your event handlers.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.IoWarningEventArgs.WarningMsg">
            <summary>
            Gets the message explaining the specific warning.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.DefinedName">
            <summary>
            Defined name class describes defined name that is not directly related with one cell range.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedName.Name">
            <summary>
            Gets or sets the name of the defined name object.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedName.Value">
            <summary>
            Gets or sets the value of the defined name.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedName.LocalSheetIndex">
            <summary>
            Gets or sets the local sheet index of the defined name.
            If the local sheet index is -1, defined name is global.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.DefinedNameCollection">
            <summary>
            Collection of defined names that are not directly related with one cell range.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.DefinedNameCollection.GetEnumerator">
            <summary>
            Returns an IEnumerator for the collection. 
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.DefinedNameCollection.AddDefinedName(System.String,System.String,System.Int32)">
            <summary>
            Adds defined name to collection and returns index of that defined name.
            </summary>
            <param name="name">Name of the defined name.</param>
            <param name="value">Range string.</param>
            <param name="localSheetIndex">Local sheet index. If the value is -1, defined name is global.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefinedNameCollection.RemoveDefinedName(System.String)">
            <summary>
            Removes the defined name described by name from collection.
            </summary>
            <param name="definedName">Name of the defined name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefinedNameCollection.RemoveDefinedNameAt(System.Int32)">
            <summary>
            Removes the defined name described by index from collection.
            </summary>
            <param name="index">Index of the defined name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.DefinedNameCollection.Clear">
            <summary>
            Removes all elements from defined names collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedNameCollection.Count">
            <summary>
            Returns the number of defined names in collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedNameCollection.Item(System.Int32)">
            <summary>
            Gets or sets defined name described by index from collection.
            </summary>
            <param name="index">Index of the defined name.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.DefinedNameCollection.Item(System.String)">
            <summary>
            Gets defined name described by name from collection.
            </summary>
            <param name="definedName">Name of the defined name.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelShapeCollection.DeleteInternal(System.Int32)">
            <summary>
            Deletes shape at specified index.
            </summary>
            <param name="index">The specified index.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelShapeCollection.DeleteInternal(GemBox.Spreadsheet.ExcelShape)">
            <summary>
            Deletes shape at specified index.
            </summary>
            <param name="shape">The shape.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelShapeCollection.ImageFormatToBlipType(System.Drawing.Imaging.ImageFormat)">
            <summary>
            Images the type of the format to blip.
            </summary>
            <param name="format">The image format.</param>
            <returns>MsoBlipType value</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.FunctionFormulaToken">
            <summary>
            Formula token for holding function.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FunctionFormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.AreaErr3dFormulaToken">
            <summary>
            Formula token for holding 3d reference error.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.Area3dFormulaToken">
            <summary>
            Formula token for holding 3d reference on internal cell range.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Area3dFormulaToken.regexOptions">
            <summary>
            Regular expression default options
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Area3dFormulaToken.IsCellRange3DRegex">
            <summary>
            Regular expression used to determinate whether the input string is 3d cell range( 1t case ) or not
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Area3dFormulaToken.refIndex">
            <summary>
            REF entry' index on EXTERNSHEET record( see the Link Table ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.Area3dFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.IsArea3dToken(System.Byte)">
            <summary>
            Determines whether is the specified code related to area3d token.
            </summary>
            <param name="code">The code to be checked.</param>
            <returns>
            	<c>true</c> if the specified code related to area3d token; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Area3dFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaErr3dFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.AreaErr3dFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.AreaErr3dFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.SupBookRecord">
            <summary>
            SupBookRecord record is used to provide information about internal 3d references	
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SupBookRecord.#ctor(System.Int32,System.IO.BinaryReader,GemBox.Spreadsheet.AbsXLSRec,GemBox.Spreadsheet.IoOperationInfo)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.SupBookRecord"/> class.
            </summary>
            <param name="bodyLength">Length of the body.</param>
            <param name="br">The binary reader to read from.</param>
            <param name="previousRecord">The previous record.</param>
            <param name="operationInfo">Current operation information.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.SupBookRecord.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.SupBookRecord"/> class.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SupBookRecord.SheetsCount">
            <summary>
            Gets or sets the sheets count in current workbook.
            </summary>
            <value>The sheets count in current workbook.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelComment">
            <summary>
            Represents a comment object used by <seealso cref="P:GemBox.Spreadsheet.ExcelCell.Comment">Comment</seealso> in the worksheet.
            </summary>
            <remarks>Suported only in xlsx.</remarks>
            <example>
Following code demonstrates how to use comments. It shows next features: 
<list type="number">
<item> comment text setting </item>
<item> comment' IsVisible property in action </item>
</list>
<code lang="Visual Basic">		
	excelFile.Worksheets(0).Cells(0, 0).Comment.Text = "comment1" 
	excelFile.Worksheets(0).Cells(0, 0).Comment.IsVisible = False
</code>
<code lang="C#">
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.Text = "comment1";
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.IsVisible = false;
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelComment.Text">
            <summary>
            Gets the comment text assigned to excel cell
            </summary>
            <value>The comment text assigned to excel cell.</value>
            <example>
Following code demonstrates how to use comments. It shows next features: 
<list type="number">
<item> comment text setting </item>
<item> comment' IsVisible property in action </item>
</list>
<code lang="Visual Basic">		
	excelFile.Worksheets(0).Cells(0, 0).Comment.Text = "comment1" 
	excelFile.Worksheets(0).Cells(0, 0).Comment.IsVisible = False
</code>
<code lang="C#">
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.Text = "comment1";
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.IsVisible = false;
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelComment.Author">
            <summary>
            Gets or sets comment author.
            </summary>
            <value>Comment author.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelComment.IsVisible">
            <summary>
            Gets or sets a value indicating whether this instance is visible.
            </summary>
            <value>
            	<c>true</c> if this instance is visible; otherwise, <c>false</c>.
            </value>
            <example>
Following code demonstrates how to use comments. It shows next features: 
<list type="number">
<item> comment text setting </item>
<item> comment' IsVisible property in action </item>
</list>
<code lang="Visual Basic">		
	excelFile.Worksheets(0).Cells(0, 0).Comment.Text = "comment1" 
	excelFile.Worksheets(0).Cells(0, 0).Comment.IsVisible = False
</code>
<code lang="C#">
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.Text = "comment1";
	excelFile.Worksheets[ 0 ].Cells[ 0, 0 ].Comment.IsVisible = false;
</code>
</example>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientDataRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientDataRecord.ConvertToBytes(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Converts mso structure' representation to bytes.
            </summary>		
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtClientDataRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.Buffer">
            <summary>
            Buffer class is used as the wrapper aroung input string for FormulaParser providing
            additional helpful methods for accessing string buffer.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Buffer.Empty">
            <summary>
            Unique char to identify that char is empty
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.Buffer.EmptyInteger">
            <summary>
            Unique integer to identify that integer is null
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.Buffer"/> class.
            </summary>
            <param name="data">The string data to wrap.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.SkipWhitespaces">
            <summary>
            Skips the whitespaces.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetCurrent">
            <summary>
            Gets the current ńhar data.
            </summary>
            <returns>current char data</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextOnDemand(System.Char)">
            <summary>
            Gets the next on demand( if next symbol is peek, than read it and return back ).
            </summary>
            <param name="peek">The char to peek for.</param>
            <returns>read char or special char indicating no read status</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextOnDemand(System.Char,System.Boolean)">
            <summary>
            Gets the next on demand( if next symbol is peek, than read it and return back ).
            Additionally it can skip whitespaces on demand.
            </summary>
            <param name="peek">The char to peek for.</param>
            <param name="skipWhitespaces">if set to <c>true</c> [skip whitespaces].</param>
            <returns>
            read char or special char indicating no read status
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextOnDemand(System.Char[])">
            <summary>
            Gets the next on demand( if next symbol is of the given chars, than read it and return back ).
            </summary>
            <param name="charsToPeekFor">The char array to peek for.</param>
            <returns>
            read char or special char indicating no read status
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextWithWhitespaceSkippling">
            <summary>
            Gets the next on demand( if next symbol is peek, than read it and return back ).
            Additionally it always skip whitespaces.
            </summary>		
            <returns>read char or special char indicating no read status</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNext">
            <summary>
            Gets the next char from buffer.
            </summary>		
            <returns>read char or special char indicating no read status</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.Peek">
            <summary>
            Peeks for the next char.
            </summary>		
            <returns>read char or special char indicating no read status</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.Peek(System.Int32)">
            <summary>
            Peeks for the next char at specified forward-position
            </summary>		
            <returns>read char or special char indicating no read status</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextString(System.Char)">
            <summary>
            Gets the next string from buffer.
            </summary>
            <param name="endChar">The char used as end mark during reading.</param>
            <returns>read string</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextString(System.Char[])">
            <summary>
            Gets the next string from buffer.
            </summary>
            <param name="endChars">The arrag of chars used as end marks during reading.</param>
            <returns>read string</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextString">
            <summary>
            Gets the next string from buffer with skipping whitespaces.
            </summary>		
            <returns>read string</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.Buffer.GetNextString(System.Boolean)">
            <summary>
            Gets the next string from buffer with optional skipping whitespaces.
            </summary>		
            <returns>read string</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.Buffer.Data">
            <summary>
            Gets the input data string buffer.
            </summary>
            <value>The input data string buffer.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.Buffer.Pos">
            <summary>
            Gets the position of input data string buffer.
            </summary>
            <value>The position of input data string buffer.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.Buffer.IsEOF">
            <summary>
            Gets a value indicating whether we have reached end of input buffer.
            </summary>
            <value><c>true</c> if we have reached end of input buffer; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelWorksheet">
            <summary>
            Excel worksheet is a table with additional properties, identified by a unique name.
            </summary>
            <remarks>
            <p>
            Worksheet in Microsoft Excel has limited size. 
            Number of rows (<see cref="T:GemBox.Spreadsheet.ExcelRow">ExcelRow</see>) is limited 
            to <see cref="F:GemBox.Spreadsheet.ExcelFile.MaxRows">ExcelFile.MaxRows</see>. 
            Number of columns (<see cref="T:GemBox.Spreadsheet.ExcelColumn">ExcelColumn</see>) is limited 
            to <see cref="F:GemBox.Spreadsheet.ExcelFile.MaxColumns">ExcelFile.MaxColumns</see>. 
            A specific cell (<see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see>) can be accessed either trough 
            <see cref="P:GemBox.Spreadsheet.ExcelRow.Cells">ExcelRow.Cells</see>, 
            <see cref="P:GemBox.Spreadsheet.ExcelColumn.Cells">ExcelColumn.Cells</see> or 
            <see cref="P:GemBox.Spreadsheet.ExcelWorksheet.Cells">ExcelWorksheet.Cells</see> property. 
            Whichever property used, there are two distinct methods of getting a cell reference; using <b>name</b>
            and using <b>index</b>. For example, full name of cell in top left corner of a worksheet is "A1". Translated
            to indexes, same cell would be 0,0 (zero row and zero column). If using 
            <see cref="P:GemBox.Spreadsheet.ExcelRow.Cells">ExcelRow.Cells</see> or 
            <see cref="P:GemBox.Spreadsheet.ExcelColumn.Cells">ExcelColumn.Cells</see> to access a
            specific cell, only partial name or partial index must be used, providing unknown column or row information. 
            </p>
            </remarks>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
            <seealso cref="T:GemBox.Spreadsheet.ExcelRow"/>
            <seealso cref="T:GemBox.Spreadsheet.ExcelColumn"/>
            <seealso cref="T:GemBox.Spreadsheet.ExcelCell"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.Delete">
            <summary>
            Deletes this worksheet from the workbook.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.InsertEmpty(System.String)">
            <summary>
            Inserts an empty worksheet before the current worksheet.
            </summary>
            <param name="worksheetName">Worksheet name.</param>
            <returns>Newly created worksheet.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.InsertCopy(System.String,GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Inserts a copy of an existing worksheet before the current worksheet.
            </summary>
            <param name="destinationWorksheetName">Name of the new worksheet.</param>
            <param name="sourceWorksheet">Source worksheet.</param>
            <returns>Newly created worksheet.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.InsertDataTable(System.Data.DataTable,System.String,System.Boolean)">
            <summary>
            Inserts a <see cref="T:System.Data.DataTable">DataTable</see> at the specified position in 
            the current worksheet.
            </summary>
            <param name="dataTable">Source DataTable.</param>
            <param name="startCell">Name of start (top-left) cell.</param>
            <param name="columnHeaders">True to insert column names above data.</param>
            <returns>Number of inserted rows.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.InsertDataTable(System.Data.DataTable,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Inserts a <see cref="T:System.Data.DataTable">DataTable</see> at the specified row and column in 
            the current worksheet.
            </summary>
            <param name="dataTable">Source DataTable.</param>
            <param name="startRow">Index of the start row.</param>
            <param name="startColumn">Index of the start column.</param>
            <param name="columnHeaders">True to insert column names above data.</param>
            <returns>Number of inserted rows.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.ExtractToDataTable(System.Data.DataTable,System.Int32,GemBox.Spreadsheet.ExtractDataOptions,GemBox.Spreadsheet.ExcelRow,GemBox.Spreadsheet.ExcelColumn)">
            <overloads>Extracts data to <see cref="T:System.Data.DataTable">DataTable</see>.</overloads>
            <summary>
            Extracts data to DataTable with the same column order as it is in ExcelWorksheet.
            </summary>
            <remarks>
            DataTable has to have all the columns defined before calling this method. 
            Because DataColumnMapping objects are not used in this method, columns in DataTable have to have the same
            order as columns in ExcelWorksheet (starting from column defined in startColumn argument).
            </remarks>
            <param name="dataTable">Destination DataTable.</param>
            <param name="numberOfRows">Number of rows to extract.</param>
            <param name="options">Options that describe how data will be extracted.</param>
            <param name="startRow">Start ExcelRow.</param>
            <param name="startColumn">Start ExcelColumn.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.ExtractToDataTable(System.Data.DataTable,System.Int32,GemBox.Spreadsheet.ExtractDataOptions,System.Data.Common.DataColumnMappingCollection,GemBox.Spreadsheet.ExcelRow)">
            <summary>
            Extracts data to DataTable with column mapping.
            </summary>
            <remarks>
            DataTable has to have all the columns defined before calling this method. 
            How will data be extracted from ExcelColumn to DataTableColumn has to be defined
            in the dataColumnMappingCollection argument.
            </remarks>
            <param name="dataTable">Destination DataTable.</param>
            <param name="numberOfRows">Number of rows to extract.</param>
            <param name="options">Options that describe how data will be extracted.</param>
            <param name="dataColumnMappingCollection">Column mapping.</param>
            <param name="startRow">Start ExcelRow.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheet.GetUsedCellRange">
            <summary>
            Calculates cell range that is used in the worksheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Pictures">
            <summary>
            Gets <seealso cref="T:GemBox.Spreadsheet.ExcelPictureCollection">ExcelPictureCollection</seealso> containing images.
            </summary>
            <remarks>
            This feature is supported only in xlsx file format. 
            Picture formats that are supported are listed in <see cref="T:GemBox.Spreadsheet.ExcelPictureFormat">ExcelPictureFormat</see>.
            </remarks>
            <seealso cref="T:GemBox.Spreadsheet.ExcelPicture">ExcelPicture</seealso>
            <example>
Following code demonstrates how to use images. It shows next features: 
<list type="number">
<item> bmp, jpeg loading </item>
<item> bmp, jpeg loading with custom coordinates and dimensions </item>
</list>
<code lang="Visual Basic">
	sheet.Pictures.Add( "Image.bmp" ) 
	sheet.Pictures.Add( "Image.bmp", New Rectangle(10, 50, 100, 100) )
</code>
<code lang="C#">
	sheet.Pictures.Add( "Image.bmp" );
	sheet.Pictures.Add( "Image.bmp", new Rectangle( 10, 50, 100, 100 ) );
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.NamedRanges">
            <summary>
            Gets <seealso cref="T:GemBox.Spreadsheet.NamedRangeCollection">NamedRangeCollection</seealso> 
            containing descriptive names which are used to represent cells, ranges of cells, 
            formulas, or constant values.
            </summary>		
            <remarks>
            You can use the labels of columns and rows on a worksheet to refer to the cells within 
            those columns and rows. Or you can create descriptive names to represent cells, ranges of cells, 
            formulas, or constant values. Labels can be used in formulas that refer to data on the same 
            worksheet; if you want to represent a range on another worksheet, use a name.
            You can also create 3-D names that represent the same cell or range of cells across multiple worksheets.		
            </remarks>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Hyperlinks">
            <summary>
            Gets hyperlinks in this  sheet.
            </summary>
            <remarks>Suported only in xlsx.</remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Name">
            <summary>
            Gets or sets worksheet name. 
            </summary>
            <remarks>
            If not unique (worksheet with that name already exists in 
            <see cref="P:GemBox.Spreadsheet.ExcelFile.Worksheets">ExcelFile.Worksheets</see> collection) exception is thrown.
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if worksheet name is not unique.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Rows">
            <summary>
            Gets collection of all rows (<see cref="T:GemBox.Spreadsheet.ExcelRow">ExcelRow</see>) in the worksheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Columns">
            <summary>
            Gets collection of all columns (<see cref="T:GemBox.Spreadsheet.ExcelColumn">ExcelColumn</see>) in the worksheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Cells">
            <summary>
            Gets <see cref="T:GemBox.Spreadsheet.CellRange">CellRange</see> with all the cells 
            (<see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see>) 
            in the worksheet.
            </summary>
            <example> Look at following code for cell referencing examples:
<code lang="Visual Basic">
	Dim ws As ExcelWorksheet = excelFile.Worksheets.ActiveWorksheet

	ws.Cells("B2").Value = "Cell B2."
	ws.Cells(6, 0).Value = "Cell in row 7 and column A."

	ws.Rows(2).Cells(0).Value = "Cell in row 3 and column A."
	ws.Rows("4").Cells("B").Value = "Cell in row 4 and column B."

	ws.Columns(2).Cells(4).Value = "Cell in column C and row 5."
	ws.Columns("AA").Cells("6").Value = "Cell in AA column and row 6."
</code>
<code lang="C#">
	ExcelWorksheet ws = excelFile.Worksheets.ActiveWorksheet;

	ws.Cells["B2"].Value = "Cell B2.";
	ws.Cells[6,0].Value = "Cell in row 7 and column A.";

	ws.Rows[2].Cells[0].Value = "Cell in row 3 and column A.";
	ws.Rows["4"].Cells["B"].Value = "Cell in row 4 and column B.";

	ws.Columns[2].Cells[4].Value = "Cell in column C and row 5.";
	ws.Columns["AA"].Cells["6"].Value = "Cell in AA column and row 6.";
</code>
</example>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Protected">
            <summary>
            Gets or sets the worksheet protection flag.
            </summary>
            <remarks>
            This property is simply written to Excel file and has no effect on the behavior of this library.
            For more information on worksheet protection, consult Microsoft Excel documentation.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelFile.Protected">ExcelFile.Protected</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Visibility">
            <summary>
            Gets or sets the worksheet visible property.
            </summary>
            <remarks>
            <p>Workbook must contain at least one visible sheet.</p>
            <p>This property is available only in XLSX file format.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.DefaultColumnWidth">
            <summary>
            Gets or sets default column width.
            </summary>
            <remarks>
            Unit is 1/256th of the width of the zero character in default font. This value is used as width for columns 
            which don't have <see cref="P:GemBox.Spreadsheet.ExcelColumn.Width">ExcelColumn.Width</see> property explicitly set.
            </remarks>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumn.Width">ExcelColumn.Width</seealso>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.HorizontalPageBreaks">
            <summary>
            Gets collection of all horizontal page breaks 
            (<see cref="T:GemBox.Spreadsheet.HorizontalPageBreak">HorizontalPageBreak</see>) in the worksheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.VerticalPageBreaks">
            <summary>
            Gets collection of all vertical page breaks 
            (<see cref="T:GemBox.Spreadsheet.VerticalPageBreak">VerticalPageBreak</see>) in the worksheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.HasShape">
            <summary>
            Gets a value indicating whether this instance has shape.
            </summary>
            <value><c>true</c> if this instance has shape; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.Shapes">
            <summary>
            Gets the shapes.
            </summary>
            <value>The shapes.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.PrintOptions">
            <summary>
            Contains MS Excel print and print related options.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.ViewOptions">
            <summary>
            Contains MS Excel display and view related options.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.HeadersFooters">
            <summary>
            Gets or sets headers/footers for the sheet.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheet.HasHeadersFooters">
            <summary>
            Returns true if worksheet has headers/footers.
            </summary>
        </member>
        <member name="E:GemBox.Spreadsheet.ExcelWorksheet.ExtractDataEvent">
            <summary>
            Event that fires when specific error occurs while extracting data to DataTable.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelWorksheet.ExtractDataEventHandler">
            <summary>
            Delegate for handling the ExtractData events.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExtractDataOptions">
            <summary>
            Options specified when extracting data to <see cref="T:System.Data.DataTable">DataTable</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataOptions.None">
            <summary>
            None of the options is set. 
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataOptions.StopAtFirstEmptyRow">
            <summary>
            Extracting data stops at the first empty row.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelWorksheetCollection">
            <summary>
            Collection of worksheets (<see cref="T:GemBox.Spreadsheet.ExcelWorksheet">ExcelWorksheet</see>).
            </summary>
            <seealso cref="T:GemBox.Spreadsheet.ExcelWorksheet"/>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheetCollection.Add(System.String)">
            <summary>
            Adds an empty worksheet to the end of the collection.
            </summary>
            <param name="worksheetName">Worksheet name.</param>
            <returns>Newly created worksheet.</returns>
            <remarks>
            If this is the first worksheet added to the collection the 
            <see cref="P:GemBox.Spreadsheet.ExcelWorksheetCollection.ActiveWorksheet">ActiveWorksheet</see> is set to this worksheet.
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if worksheet name is not unique.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheetCollection.AddCopy(System.String,GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Adds a copy of an existing worksheet to the end of the collection.
            </summary>
            <param name="destinationWorksheetName">Name of new worksheet.</param>
            <param name="sourceWorksheet">Source worksheet.</param>
            <returns>Newly created worksheet.</returns>
            <remarks>
            If this is the first worksheet added to the collection the 
            <see cref="P:GemBox.Spreadsheet.ExcelWorksheetCollection.ActiveWorksheet">ActiveWorksheet</see> is set to this worksheet.
            </remarks>
            <exception cref="T:System.ArgumentException">Thrown if worksheet name is not unique.</exception>
        </member>
        <member name="M:GemBox.Spreadsheet.ExcelWorksheetCollection.GetEnumerator">
            <summary>
            Returns an enumerator for the <see cref="T:GemBox.Spreadsheet.ExcelWorksheetCollection">
            ExcelWorksheetCollection</see>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.Pictures">
            <summary>
            Get the list of bse records
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.SheetNames">
            <summary>
            Gets the sheet names.
            </summary>
            <value>The sheet names.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.SheetIndexes">
            <summary>
            Gets the sheet indexes.
            </summary>
            <value>The sheet indexes.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.Item(System.Int32)">
            <overloads>Gets the worksheet with the specified index or name.</overloads>
            <summary>
            Gets the worksheet with the specified index.
            </summary>
            <param name="index">The zero-based index of the worksheet.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.Item(System.String)">
            <summary>
            Gets the worksheet with the specified name.
            </summary>
            <param name="name">The name of the worksheet.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.ActiveWorksheet">
            <summary>
            Gets or sets active worksheet.
            </summary>
            <remarks>
            Active worksheet is the one selected when file is opened with Microsoft Excel. By default active worksheet 
            is the first one added with <see cref="M:GemBox.Spreadsheet.ExcelWorksheetCollection.Add(System.String)">Add</see> method.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelWorksheetCollection.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:GemBox.Spreadsheet.ExcelWorksheetCollection">
            ExcelWorksheetCollection</see>.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.NamedRangeCollection">
            <summary>
            Collection of the descriptive names which are used 
            to represent cells, ranges of cells, formulas, or constant values.
            </summary>		
            <remarks>
            You can use the labels of columns and rows on a worksheet to refer to the cells within 
            those columns and rows. Or you can create descriptive names to represent cells, ranges of cells, 
            formulas, or constant values. Labels can be used in formulas that refer to data on the same 
            worksheet; if you want to represent a range on another worksheet, use a name.
            You can also create 3-D names that represent the same cell or range of cells across multiple worksheets.		
            </remarks>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</seealso>
        </member>
        <member name="F:GemBox.Spreadsheet.NamedRangeCollection.namesList">
            <summary>
            The user-defined names list.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.#ctor(GemBox.Spreadsheet.ExcelWorksheet)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NamedRangeCollection"/> class.
            </summary>
            <param name="worksheet">The worksheet to initialize NamedRangeCollection.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.#ctor(GemBox.Spreadsheet.ExcelWorksheet,GemBox.Spreadsheet.NamedRangeCollection)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NamedRangeCollection"/> class.
            </summary>
            <param name="worksheet">The worksheet to initialize NamedRangeCollection.</param>
            <param name="sourceNamedRanges">The source named range collection to initialize NamedRangeCollection.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.Add(System.String,GemBox.Spreadsheet.CellRange)">
            <overloads>Adds a new global or local named range.</overloads>
            <summary>
            Adds a new named range. Named ranges are used to represent cells, ranges of cells,
            formulas or constant values.
            </summary>		
            <param name="name">The user-defined name.</param>
            <param name="range">The range to be refered by name.</param>
            <remarks>
            You can use the labels of columns and rows on a worksheet to refer to the cells within
            those columns and rows. Or you can create descriptive names to represent cells, ranges of cells,
            formulas, or constant values. Labels can be used in formulas that refer to data on the same
            worksheet; if you want to represent a range on another worksheet, use a name.
            You can also create 3-D names that represent the same cell or range of cells across multiple worksheets.
            </remarks>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</seealso>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.Add(System.String,GemBox.Spreadsheet.CellRange,System.Boolean)">
            <summary>
            Adds a new named range. Named ranges are used to represent cells, ranges of cells,
            formulas or constant values.
            </summary>		
            <param name="name">The user-defined name.</param>
            <param name="range">The range to be refered by name.</param>
            <param name="globalName">sets the range as global if set to true</param>
            <remarks>
            You can use the labels of columns and rows on a worksheet to refer to the cells within
            those columns and rows. Or you can create descriptive names to represent cells, ranges of cells,
            formulas, or constant values. Labels can be used in formulas that refer to data on the same
            worksheet; if you want to represent a range on another worksheet, use a name.
            You can also create 3-D names that represent the same cell or range of cells across multiple worksheets.
            </remarks>
            <example>Following code demonstrates how to use formulas and named ranges. It shows next features: 
cell references (both absolute and relative), unary and binary operators, constand operands (integer and floating point),
functions and named cell ranges.
<code lang="Visual Basic">
    ws.Cells("A1").Value = 5
    ws.Cells("A2").Value = 6
    ws.Cells("A3").Value = 10
 
    ws.Cells("C1").Formula = "=A1+A2"
    ws.Cells("C2").Formula = "=$A$1-A3"
    ws.Cells("C3").Formula = "=COUNT(A1:A3)"
    ws.Cells("C4").Formula = "=AVERAGE($A$1:$A$3)"
    ws.Cells("C5").Formula = "=SUM(A1:A3,2,3)"
    ws.Cells("C7").Formula = "= 123 - (-(-(23.5)))"
 
    ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"))
    ws.Cells("C8").Formula = "=MAX(DataRange)"
 
    Dim cr As CellRange = ws.Cells.GetSubrange("B9","C10")
    cr.Merged = True
    cr.Formula = "=A1*25"
</code>
<code lang="C#">	
	ws.Cells["A1"].Value = 5;
	ws.Cells["A2"].Value = 6;
	ws.Cells["A3"].Value = 10;

	ws.Cells["C1"].Formula = "=A1+A2";
	ws.Cells["C2"].Formula = "=$A$1-A3";
	ws.Cells["C3"].Formula = "=COUNT(A1:A3)";
	ws.Cells["C4"].Formula = "=AVERAGE($A$1:$A$3)";
	ws.Cells["C5"].Formula = "=SUM(A1:A3,2,3)";
	ws.Cells["C7"].Formula = "= 123 - (-(-(23.5)))";

	ws.NamedRanges.Add("DataRange", ws.Cells.GetSubrange("A1", "A3"));
	ws.Cells["C8"].Formula = "=MAX(DataRange)";

	CellRange cr = ws.Cells.GetSubrange("B9", "C10");
	cr.Merged = true;
	cr.Formula = "=A1*25";
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelCell.Formula">ExcelCell.Formula</seealso>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.GetEnumerator">
            <summary>
            Returns an enumerator that can iterate through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/>
            that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRangeCollection.DeleteInternal(System.Int32)">
            <summary>
            Deletes named range at specified index.
            </summary>
            <param name="index">The specified index.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.Names">
            <summary>
            Gets the user-defined names. You can use these names as shortcuts for ranges, cells, etc.
            </summary>
            <value>The user-defined names.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.Count">
            <summary>
            Gets the number of named ranges contained in the collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.NamedRanges">
            <summary>
            Gets or sets the named cell name list
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.NamesList">
            <summary>
            Gets or sets the user-defined names list.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.Item(System.Int32)">
            <overloads>Gets the <see cref="T:GemBox.Spreadsheet.NamedRange">NamedRange</see> with 
            the specified index or name.</overloads>
            <summary>
            Gets the <see cref="T:GemBox.Spreadsheet.NamedRange">NamedRange</see> at the specified index.
            </summary>
            <param name="index">Range index.</param>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRangeCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:GemBox.Spreadsheet.NamedRange">NamedRange</see> with the specified name.
            </summary>
            <param name="name">Range name.</param>
        </member>
        <member name="T:GemBox.Spreadsheet.NamedRange">
            <summary>
            Represents a named range in the worksheet.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRange.#ctor(GemBox.Spreadsheet.NamedRangeCollection,System.Int32,System.Object[],System.String,GemBox.Spreadsheet.CellRange,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.NamedRange"/> class.
            </summary>
            <param name="parent">Parent collection.</param>
            <param name="index">Index in the parrent collection.</param>
            <param name="options">The options.</param>
            <param name="name">The cell range name.</param>
            <param name="range">The named cell range.</param>
            <param name="globalName">if name is global (=true)</param>
        </member>
        <member name="M:GemBox.Spreadsheet.NamedRange.Delete">
            <summary>
            Deletes this named range from the named ranges collection.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRange.GlobalName">
            <summary>
            gets global flag
            </summary>
            <value>if this name is global</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRange.Range">
            <summary>
            Gets the named cell range.
            </summary>
            <value>The named cell range.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRange.Name">
            <summary>
            Gets the named range name.
            </summary>
            <value>The named range name.</value>
        </member>
        <member name="P:GemBox.Spreadsheet.NamedRange.Options">
            <summary>
            Gets the options.
            </summary>
            <value>The options.</value>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelPrintOptions">
            <summary>
            Stores MS Excel print and print related options.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.AutomaticPageBreakScalingFactor">
            <summary>
            Scaling factor for automatic page breaks.
            </summary>
            <remarks>
            <p>Unit is one percent. Value must be between 10 and 400.</p>
            <p>Default value for this property is 100.</p>
            <p>MS Excel inserts automatic page breaks depending on this scaling factor. 
            Smaller it gets, bigger will be the distance between the two automatic page breaks.</p>
            <p>If you set this property, <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitToPage">FitToPage</see>
            will automaticaly be set to <b>false</b>.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is out of 10 to 400 range.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.FitToPage">
            <summary>
            <b>True</b> for using 
            <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetHeightToPages">FitWorksheetHeightToPages</see>
            and <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetWidthToPages">FitWorksheetWidthToPages</see>, 
            <b>false</b> otherwise.
            </summary>
            <remarks>
            <p>This property determines whether <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.AutomaticPageBreakScalingFactor">AutomaticPageBreakScalingFactor</see>
            or <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetHeightToPages">FitWorksheetHeightToPages</see>
            and <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetWidthToPages">FitWorksheetWidthToPages</see>
            will be used in printing.</p>
            <p>Default value for this property is <b>false</b>.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PaperSize">
            <summary>
            MS Excel specific paper size / type index.
            </summary>
            <remarks>
            <p>
            Default value for this property is 0.
            </p>
            <p>
            Following table shows most commonly used values:
            </p>
            <p>
            <FONT face="Arial" size="1">
            <table border="1" cellpadding="5" cellspacing="0" ID="Table1">
            <tr>
            <td><b>Index</b></td>
            <td><b>Paper type</b></td>
            <td><b>Paper size</b></td>
            </tr>
            <tr>
            <td>0</td>
            <td>Undefined</td>
            <td>
            </td>
            </tr>
            <TR>
            <TD>1</TD>
            <TD>Letter</TD>
            <TD>8 1/2in × 11in</TD>
            </TR>
            <TR>
            <TD>8</TD>
            <TD>A3</TD>
            <TD>297mm × 420mm</TD>
            </TR>
            <TR>
            <TD>9</TD>
            <TD>A4</TD>
            <TD>210mm × 297mm</TD>
            </TR>
            <TR>
            <TD>11</TD>
            <TD>A5</TD>
            <TD>148mm × 210mm</TD>
            </TR>
            </table>
            </FONT>
            </p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.StartPageNumber">
            <summary>
            Start page number.
            </summary>
            <remarks>
            Default value for this property is 1.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetWidthToPages">
            <summary>
            Fit worksheet width to this number of pages (0 = use as many as needed).
            </summary>
            <remarks>
            <p>Default value for this property is 0.</p>
            <p>If you set this property, <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitToPage">FitToPage</see>
            will automaticaly be set to <b>true</b>.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.FitWorksheetHeightToPages">
            <summary>
            Fit worksheet height to this number of pages (0 = use as many as needed).
            </summary>
            <remarks>
            <p>Default value for this property is 0.</p>
            <p>If you set this property, <see cref="P:GemBox.Spreadsheet.ExcelPrintOptions.FitToPage">FitToPage</see>
            will automaticaly be set to <b>true</b>.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PrintPagesInRows">
            <summary>
            <b>True</b> for printing pages in rows, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.Portrait">
            <summary>
            <b>True</b> for portrait orientation, <b>false</b> for landscape orientation.
            </summary>
            <remarks>
            Default value for this property is <b>true</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PrintBlackWhite">
            <summary>
            <b>True</b> for printing in black and white, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.DraftQuality">
            <summary>
            <b>True</b> for printing in draft quality, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PrintCellNotes">
            <summary>
            <b>True</b> for printing cell notes, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.UseStartPageNumber">
            <summary>
            <b>True</b> for using start page number, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PrintNotesSheetEnd">
            <summary>
            <b>True</b> for printing notes at end of sheet, <b>false</b> otherwise.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.PrintResolution">
            <summary>
            Print resolution in dpi.
            </summary>
            <remarks>
            Default value for this property is 0.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.VerticalPrintResolution">
            <summary>
            Vertical print resolution in dpi.
            </summary>
            <remarks>
            Default value for this property is 0.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.HeaderMargin">
            <summary>
            Header margin.
            </summary>
            <remarks>
            Default value for this property is 0.5.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.FooterMargin">
            <summary>
            Footer margin.
            </summary>
            <remarks>
            Default value for this property is 0.5.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.TopMargin">
            <summary>
            Top margin.
            </summary>
            <remarks>
            Default value for this property is 1.9.
            Currently supported only in XLSX.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.BottomMargin">
            <summary>
            Bottom margin.
            </summary>
            <remarks>
            Default value for this property is 1.9.
            Currently supported only in XLSX.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.LeftMargin">
            <summary>
            Left margin.
            </summary>
            <remarks>
            Default value for this property is 1.8.
            Currently supported only in XLSX.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.RightMargin">
            <summary>
            Right margin.
            </summary>
            <remarks>
            Default value for this property is 1.8.
            Currently supported only in XLSX.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelPrintOptions.NumberOfCopies">
            <summary>
            Number of copies to print.
            </summary>
            <remarks>
            Default value for this property is 1.
            </remarks>
        </member>
        <member name="T:GemBox.Spreadsheet.ExcelViewOptions">
            <summary>
            Stores MS Excel display and view related options.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.FirstVisibleRow">
            <summary>
            Index of the first visible row in the worksheet.
            </summary>
            <remarks>
            Default value for this property is 0.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.FirstVisibleColumn">
            <summary>
            Index of the first visible column in the worksheet.
            </summary>
            <remarks>
            Default value for this property is 0.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.Zoom">
            <summary>
            Magnification factor in normal view.
            </summary>
            <remarks>
            <p>Unit is one percent. Value must be between 10 and 400.</p>
            <p>Default value for this property is 100.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is out of 10 to 400 range.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.PageBreakViewZoom">
            <summary>
            Magnification factor in page break view.
            </summary>
            <remarks>
            <p>Unit is one percent. Value must be between 10 and 400.</p>
            <p>Default value for this property is 60.</p>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if value is out of 10 to 400 range.</exception>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowFormulas">
            <summary>
            If true, MS Excel shows formulas. Otherwise, formula results are shown. 
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowGridLines">
            <summary>
            If true, MS Excel shows grid lines.
            </summary>
            <remarks>
            Default value for this property is <b>true</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowSheetHeaders">
            <summary>
            If true, MS Excel shows row and column headers.
            </summary>
            <remarks>
            Default value for this property is <b>true</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowZeroValues">
            <summary>
            If true, MS Excel shows zero values. Otherwise, zero values are shown as empty cells.
            </summary>
            <remarks>
            Default value for this property is <b>true</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowColumnsFromRightToLeft">
            <summary>
            If true, MS Excel shows columns from right to left.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowOutlineSymbols">
            <summary>
            If true, MS Excel shows outline symbols.
            </summary>
            <remarks>
            Default value for this property is <b>true</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.ShowInPageBreakPreview">
            <summary>
            If true, MS Excel shows worksheet in page break preview. Otherwise, normal view is used.
            </summary>
            <remarks>
            Default value for this property is <b>false</b>.
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.OutlineRowButtonsBelow">
            <summary>
            Gets or sets whether outline row buttons are displayed below groups.
            </summary>
            <remarks>
            This property is simply written to Excel file and has no effect on behavior of this library.
            For more information on worksheet protection, consult Microsoft Excel documentation.
            </remarks>
            <example> Following code creates two horizontal groups and one vertical group. Horizontal groups have 
outline button above (default is below), while vertical group is collapsed.
<code lang="Visual Basic">
    Sub GroupingSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Grouping and outline example:"

        <font color="Green">' Vertical grouping.</font>
        ws.Cells(2, 0).Value = "GroupA Start"
        ws.Rows(2).OutlineLevel = 1
        ws.Cells(3, 0).Value = "A"
        ws.Rows(3).OutlineLevel = 1
        ws.Cells(4, 1).Value = "GroupB Start"
        ws.Rows(4).OutlineLevel = 2
        ws.Cells(5, 1).Value = "B"
        ws.Rows(5).OutlineLevel = 2
        ws.Cells(6, 1).Value = "GroupB End"
        ws.Rows(6).OutlineLevel = 2
        ws.Cells(7, 0).Value = "GroupA End"
        ws.Rows(7).OutlineLevel = 1
        <font color="Green">' Put outline row buttons above groups.</font>
        ws.ViewOptions.OutlineRowButtonsBelow = False

        <font color="Green">' Horizontal grouping (collapsed).</font>
        ws.Cells("E2").Value = "Gr.C Start"
        ws.Columns("E").OutlineLevel = 1
        ws.Columns("E").Collapsed = True
        ws.Cells("F2").Value = "C"
        ws.Columns("F").OutlineLevel = 1
        ws.Columns("F").Collapsed = True
        ws.Cells("G2").Value = "Gr.C End"
        ws.Columns("G").OutlineLevel = 1
        ws.Columns("G").Collapsed = True
    End Sub
</code>
<code lang="C#">
	static void GroupingSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Grouping and outline example:";

		<font color="Green">// Vertical grouping.</font>
		ws.Cells[2,0].Value = "GroupA Start";
		ws.Rows[2].OutlineLevel = 1;
		ws.Cells[3,0].Value = "A";
		ws.Rows[3].OutlineLevel = 1;
		ws.Cells[4,1].Value = "GroupB Start";
		ws.Rows[4].OutlineLevel = 2;
		ws.Cells[5,1].Value = "B";
		ws.Rows[5].OutlineLevel = 2;
		ws.Cells[6,1].Value = "GroupB End";
		ws.Rows[6].OutlineLevel = 2;
		ws.Cells[7,0].Value = "GroupA End";
		ws.Rows[7].OutlineLevel = 1;
		<font color="Green">// Put outline row buttons above groups.</font>
		ws.ViewOptions.OutlineRowButtonsBelow = false;

		<font color="Green">// Horizontal grouping (collapsed).</font>
		ws.Cells["E2"].Value = "Gr.C Start";
		ws.Columns["E"].OutlineLevel = 1;
		ws.Columns["E"].Collapsed = true;
		ws.Cells["F2"].Value = "C";
		ws.Columns["F"].OutlineLevel = 1;
		ws.Columns["F"].Collapsed = true;
		ws.Cells["G2"].Value = "Gr.C End";
		ws.Columns["G"].OutlineLevel = 1;
		ws.Columns["G"].Collapsed = true;
	}
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelViewOptions.OutlineColumnButtonsRight">ExcelWorksheet.OutlineColumnButtonsRight</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.Collapsed"/>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.OutlineLevel"/>
        </member>
        <member name="P:GemBox.Spreadsheet.ExcelViewOptions.OutlineColumnButtonsRight">
            <summary>
            Gets or sets whether outline column buttons are displayed on the right side of groups.
            </summary>
            <remarks>
            This property is simply written to Excel file and has no effect on behavior of this library.
            For more information on worksheet protection, consult Microsoft Excel documentation.
            </remarks>
            <example> Following code creates two horizontal groups and one vertical group. Horizontal groups have 
outline button above (default is below), while vertical group is collapsed.
<code lang="Visual Basic">
    Sub GroupingSample(ByVal ws As ExcelWorksheet)
        ws.Cells(0, 0).Value = "Grouping and outline example:"

        <font color="Green">' Vertical grouping.</font>
        ws.Cells(2, 0).Value = "GroupA Start"
        ws.Rows(2).OutlineLevel = 1
        ws.Cells(3, 0).Value = "A"
        ws.Rows(3).OutlineLevel = 1
        ws.Cells(4, 1).Value = "GroupB Start"
        ws.Rows(4).OutlineLevel = 2
        ws.Cells(5, 1).Value = "B"
        ws.Rows(5).OutlineLevel = 2
        ws.Cells(6, 1).Value = "GroupB End"
        ws.Rows(6).OutlineLevel = 2
        ws.Cells(7, 0).Value = "GroupA End"
        ws.Rows(7).OutlineLevel = 1
        <font color="Green">' Put outline row buttons above groups.</font>
        ws.ViewOptions.OutlineRowButtonsBelow = False

        <font color="Green">' Horizontal grouping (collapsed).</font>
        ws.Cells("E2").Value = "Gr.C Start"
        ws.Columns("E").OutlineLevel = 1
        ws.Columns("E").Collapsed = True
        ws.Cells("F2").Value = "C"
        ws.Columns("F").OutlineLevel = 1
        ws.Columns("F").Collapsed = True
        ws.Cells("G2").Value = "Gr.C End"
        ws.Columns("G").OutlineLevel = 1
        ws.Columns("G").Collapsed = True
    End Sub
</code>
<code lang="C#">
	static void GroupingSample(ExcelWorksheet ws)
	{
		ws.Cells[0,0].Value = "Grouping and outline example:";

		<font color="Green">// Vertical grouping.</font>
		ws.Cells[2,0].Value = "GroupA Start";
		ws.Rows[2].OutlineLevel = 1;
		ws.Cells[3,0].Value = "A";
		ws.Rows[3].OutlineLevel = 1;
		ws.Cells[4,1].Value = "GroupB Start";
		ws.Rows[4].OutlineLevel = 2;
		ws.Cells[5,1].Value = "B";
		ws.Rows[5].OutlineLevel = 2;
		ws.Cells[6,1].Value = "GroupB End";
		ws.Rows[6].OutlineLevel = 2;
		ws.Cells[7,0].Value = "GroupA End";
		ws.Rows[7].OutlineLevel = 1;
		<font color="Green">// Put outline row buttons above groups.</font>
		ws.ViewOptions.OutlineRowButtonsBelow = false;

		<font color="Green">// Horizontal grouping (collapsed).</font>
		ws.Cells["E2"].Value = "Gr.C Start";
		ws.Columns["E"].OutlineLevel = 1;
		ws.Columns["E"].Collapsed = true;
		ws.Cells["F2"].Value = "C";
		ws.Columns["F"].OutlineLevel = 1;
		ws.Columns["F"].Collapsed = true;
		ws.Cells["G2"].Value = "Gr.C End";
		ws.Columns["G"].OutlineLevel = 1;
		ws.Columns["G"].Collapsed = true;
	}
</code>
</example>
            <seealso cref="P:GemBox.Spreadsheet.ExcelViewOptions.OutlineRowButtonsBelow">ExcelWorksheet.OutlineRowButtonsBelow</seealso>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.Collapsed"/>
            <seealso cref="P:GemBox.Spreadsheet.ExcelColumnRowBase.OutlineLevel"/>
        </member>
        <member name="T:GemBox.Spreadsheet.ExtractDataError">
            <summary>
            Possible errors that can occur while extracting to DataTable.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataError.WrongType">
            <summary>
            Error that indicates that data in ExcelWorksheet can't convert to DataTable type.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExtractDataEventAction">
            <summary>
            Possible ways of dealing with error after the event has been handled.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataEventAction.ThrowException">
            <summary>
            Throw exception after event has been handled.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataEventAction.Continue">
            <summary>
            Continue extracting data to DataTable.
            To the <see cref="T:System.Data.DataTable">DataTable</see> cell the
            DataTableValue property from <see cref="T:GemBox.Spreadsheet.ExtractDataDelegateEventArgs">ExtractDataDelegateEventArgs</see> object 
            is assigned.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataEventAction.StopReading">
            <summary>
            Stop extracting data to DataTable.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.ExtractDataEventAction.SkipRow">
            <summary>
            Skip row.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ExtractDataDelegateEventArgs">
            <summary>
            Arguments of ExtractDataDelegate.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.ExcelValue">
            <summary>
            Value of the <see cref="T:GemBox.Spreadsheet.ExcelCell">ExcelCell</see>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.DataTableValue">
            <summary>
            Value of the <see cref="T:System.Data.DataTable">DataTable</see> cell.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.ErrorID">
            <summary>
            Description of error that occurred.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.Mapping">
            <summary>
            Mapping of column which contains a cell where error occurred.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.WorksheetRow">
            <summary>
            <see cref="T:GemBox.Spreadsheet.ExcelRow">ExcelRow</see> which contains a cell where error occurred.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.DestinationTable">
            <summary>
            Destinaton <see cref="T:System.Data.DataTable">DataTable</see>.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.DataTableRow">
            <summary>
            Index of <see cref="T:System.Data.DataTable">DataTable</see> row where an error has occurred.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.ExtractDataDelegateEventArgs.Action">
            <summary>
            Defines how the error will be handled.
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.SheetVisibility">
            <summary>
            Script positions used in <see cref="P:GemBox.Spreadsheet.ExcelWorksheet.Visibility">ExcelWorksheet.Visibility</see>.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SheetVisibility.Visible">
            <summary>
            Sheet is visible.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SheetVisibility.Hidden">
            <summary>
            Sheet is hidden, but is displayed in unhide dialog.
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.SheetVisibility.VeryHidden">
            <summary>
            Sheet is very hidden and can be made visible only programmatically
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.SheetHeaderFooter">
            <summary>
            Represents sheet header/footer.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.SheetHeaderFooter.#ctor">
            <summary>
            SheetHeaderFooter constructor.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.AlignWithMargins">
            <summary>
            Gets or sets if header/footer margin will align with page margins.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.DifferentFirst">
            <summary>
            Gets or sets if header/footer is different on the first page. 
            If true, FirstFooter and FirstHeader are on the first page.
            If false FirstFooter and FirstHeader are ignored.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.DifferentOddEven">
            <summary>
            Gets or sets if there are different headers/footers on the even and odd pages.
            If true, Header/Footer and EvenHeader/EvenFooter specify page header and footer values for odd
            and even pages. 
            If false then Header/Footer is used, even when EvenHeader/EvenFooter are present.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.ScaleWithDoc">
            <summary>
            Gets or sets if headers/footers will be scaled with document scaling.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.EvenFooter">
            <summary>
            Gets or sets even footer.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.EvenHeader">
            <summary>
            Gets or sets even header.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.FirstFooter">
            <summary>
            Gets or sets first footer.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.FirstHeader">
            <summary>
            Gets or sets first header.
            Supported in XLSX only.
            </summary>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.Footer">
            <summary>
            Gets or sets default footer.
            </summary>
            <remarks>
            <p>This property is simply written to Excel file and has no effect on the behavior of this library.</p>
            <p>The header string may contain special commands, for example placeholders for the page number, 
            current date, or text formatting attributes. These fields are represented by single letters 
            (exception: font name and size) with a leading ampersand. If the ampersand is part of 
            the regular header text, it will be duplicated.</p>
            <p>For more information consult Microsoft Excel documentation.</p>
            </remarks>
        </member>
        <member name="P:GemBox.Spreadsheet.SheetHeaderFooter.Header">
            <summary>
            Gets or sets default header.
            </summary>
            <remarks>
            <p>This property is simply written to Excel file and has no effect on the behavior of this library.</p>
            <p>The header string may contain special commands, for example placeholders for the page number, 
            current date, or text formatting attributes. These fields are represented by single letters 
            (exception: font name and size) with a leading ampersand. If the ampersand is part of 
            the regular header text, it will be duplicated.</p>
            <p>For more information consult Microsoft Excel documentation.</p>
            </remarks>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoContainerRecord.Add(GemBox.Spreadsheet.MsoBaseRecord)">
            <summary>
            Adds the specified item to container.
            </summary>
            <param name="item">The item to be added.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoContainerRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>		
        </member>
        <member name="M:GemBox.Spreadsheet.MsoContainerRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtBseRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtBseRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokensFactory.CreateFrom(GemBox.Spreadsheet.ExcelWorksheet,System.Byte[],System.Int32)">
            <summary>
            Creates formula token from rpn bytes and the code read from that bytes.
            </summary>
            <param name="sheet"></param>
            <param name="rpnBytes">The RPN bytes.</param>
            <param name="startIndex">The start index to read code from the RPN bytes.</param>
            <returns>created formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokensFactory.CreateFunctionFromName(System.String,GemBox.Spreadsheet.FormulaTokenClass,System.Byte)">
            <summary>
            Creates formula token form the name of the function.
            </summary>
            <param name="name">The name of the function.</param>
            <param name="tokenClass">The token class.</param>
            <param name="argumentsCount">The arguments count for the function.</param>
            <returns>created formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokensFactory.CreateFromCode(GemBox.Spreadsheet.ExcelWorksheet,GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Creates formula token from code.
            </summary>
            <param name="sheet"></param>
            <param name="tokenCode">The token code.</param>
            <returns>created formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokensFactory.CreateFromCode(GemBox.Spreadsheet.ExcelWorksheet,System.Byte)">
            <summary>
            Creates formula token from byte code.
            </summary>
            <param name="sheet"></param>
            <param name="code">The byte code.</param>
            <returns>created formula token</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FormulaTokensFactory.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FormulaTokensFactory"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoPreservedRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsoPreservedRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtOptRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtOptRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtDggRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtDggRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.ImageRecordsFactory">
            <summary>
            Factory class for creation image records
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ImageRecordsFactory.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ImageRecordsFactory"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ImageRecordsFactory.CreateContainer(System.IO.BinaryReader,GemBox.Spreadsheet.MsoType)">
            <summary>
            Creates the mso container from specified mso type and reader.
            </summary>
            <param name="reader">The reader used to create appropriate container.</param>
            <param name="type">The type used to create appropriate container.</param>
            <returns></returns>
        </member>
        <member name="M:GemBox.Spreadsheet.ImageRecordsFactory.CreateContainer(GemBox.Spreadsheet.MsoType)">
            <summary>
            Creates the mso container from specified mso type.
            </summary>
            <param name="type">The type used to create appropriate container.</param>		
        </member>
        <member name="M:GemBox.Spreadsheet.ImageRecordsFactory.CreateFromReader(System.IO.BinaryReader)">
            <summary>
            Creates image record from reader.
            </summary>
            <param name="reader">The binary reader.</param>
            <returns>created image record</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.StrFormulaToken">
            <summary>
            Formula token for holding string.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.StrFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.StrFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.StrFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.StrFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.StrFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.StrFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.RefErr3dFormulaToken">
            <summary>
            Formula token for holding 3d reference error on internal cell range.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.RefErr3dFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.FunctionVarFormulaToken">
            <summary>
            Formula token for holding function with variable arguments count.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionVarFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.FunctionVarFormulaToken"/> class.
            </summary>
            <param name="code">The code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionVarFormulaToken.DelayInitialize(System.Object[])">
            <summary>
            Make custom delay initialize.
            </summary>
            <param name="data">The data for initialization which is unique for each formula token.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionVarFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionVarFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.FunctionVarFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.ControlFormulaToken">
            <summary>
            Formula token for holding control value.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.ControlFormulaToken.#ctor(GemBox.Spreadsheet.FormulaTokenCode)">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.ControlFormulaToken"/> class.
            </summary>
            <param name="code">The FormulaTokenCode code.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ControlFormulaToken.Read(System.Byte[],System.Int32)">
            <summary>
            Initialize formula token by reading input data from array of bytes
            </summary>
            <param name="rpnBytes">input data, array of bytes</param>
            <param name="startIndex">start position for array of bytes to read from</param>
        </member>
        <member name="M:GemBox.Spreadsheet.ControlFormulaToken.ConvertToBytes">
            <summary>
            Convert formula token to array of byte representation.
            </summary>
            <returns>formula token' array of byte representation</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtSpRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtSpRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtSpgrRecord.Read(System.IO.BinaryReader)">
            <summary>
            Reads data from the specified reader.
            </summary>
            <param name="reader">The source binary reader.</param>
        </member>
        <member name="M:GemBox.Spreadsheet.MsofbtSpgrRecord.SetData(GemBox.Spreadsheet.MsoDelayedRecords)">
            <summary>
            Sets the inner data( mso structure' data without header: atom, type, length ).
            </summary>
        </member>
        <member name="T:GemBox.Spreadsheet.MissArgFormulaToken">
            <summary>
            Formula token for holding missed argument( argument with no value ) in argument list of function.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MissArgFormulaToken.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GemBox.Spreadsheet.MissArgFormulaToken"/> class.
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.MissArgFormulaToken.ToString">
            <summary>
            Convert formula token to string representation.
            </summary>
            <returns>formula token string representation</returns>
        </member>
        <member name="T:GemBox.Spreadsheet.NumbersParser">
            <summary>
            Class used for controling number format
            </summary>
        </member>
        <member name="F:GemBox.Spreadsheet.NumbersParser.formatProvider">
            <summary>
            Number format for string conversion
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NumbersParser.#cctor">
            <summary>
            Initialize object
            </summary>
        </member>
        <member name="M:GemBox.Spreadsheet.NumbersParser.IsUshort(System.Double)">
            <summary>
            Determines whether the specified double value is ushort( integer ).
            </summary>
            <param name="doubleValue">The double value.</param>
            <returns>
            	<c>true</c> if the specified double value is ushort; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NumbersParser.StrToFloat(System.String)">
            <summary>
            Converts string to float.
            </summary>
            <param name="str">strind data.</param>
            <returns>flot data.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NumbersParser.StrToInt(System.String)">
            <summary>
            Converts string to int.
            </summary>
            <param name="data">string data.</param>
            <returns>int data.</returns>
        </member>
        <member name="M:GemBox.Spreadsheet.NumbersParser.StrToDouble(System.String)">
            <summary>
            Convert string to double.
            </summary>
            <param name="data">string data.</param>
            <returns>double data.</returns>
        </member>
        <member name="P:GemBox.Spreadsheet.NumbersParser.Provider">
            <summary>
            Get number format info instance
            </summary>
        </member>
    </members>
</doc>
