/// <summary>
        /// Creates new empty excel document and builder.
        /// </summary>
        /// <param name="targetStream">Output stream.</param>
        /// <param name="documentMetadata">Default excel document metadata.</param>
        /// <returns>Builder instance.</returns>
        public static ExcelReportBuilder Create(Stream targetStream, ExcelDocumentMetadata documentMetadata = null)
        {
            targetStream.AssertArgumentNotNull(nameof(targetStream));

            SpreadsheetDocument document = SpreadsheetDocument.Create(targetStream, SpreadsheetDocumentType.Workbook);
            var builder = new ExcelReportBuilder(document, documentMetadata);

            return(builder);
        }
        /// <summary>
        /// Creates new empty excel document and builder.
        /// </summary>
        /// <param name="outFilePath">Output file name.</param>
        /// <param name="documentMetadata">Default excel document metadata.</param>
        /// <returns>Builder instance.</returns>
        public static ExcelReportBuilder Create(string outFilePath, ExcelDocumentMetadata documentMetadata = null)
        {
            outFilePath.AssertArgumentNotNull(nameof(outFilePath));

            SpreadsheetDocument document = SpreadsheetDocument.Create(outFilePath, SpreadsheetDocumentType.Workbook);
            var builder = new ExcelReportBuilder(document, documentMetadata);

            return(builder);
        }