/// <summary> /// Initializes a new instance of the <see cref="SpeciesAOOEOOExcelXlsx"/> class. /// </summary> /// <param name="currentUser">The current user.</param> /// <param name="data">The data.</param> /// <param name="addSettings">if set to <c>true</c> settings sheet should be added.</param> /// <param name="addProvenance">if set to <c>true</c> provenance sheet should be added.</param> /// <param name="aooEooExcelFormatter">The aoo eoo excel formatter.</param> public SpeciesAOOEOOExcelXlsx( IUserContext currentUser, Tuple <int, string, string, string, string>[] data, bool addSettings, bool addProvenance, IAooEooExcelFormatter aooEooExcelFormatter) { IsColumnHeaderBackgroundUsed = true; base.currentUser = currentUser; base.addSettings = addSettings; base.addProvenance = addProvenance; _data = data; this.aooEooExcelFormatter = aooEooExcelFormatter; }
/// <summary> /// Initializes a new instance of the <see cref="SpeciesAOOEOOExcelXml"/> class. /// </summary> /// <param name="currentUser">The current user.</param> /// <param name="data">The data.</param> /// <param name="addSettings">if set to <c>true</c> settings report should be added.</param> /// <param name="addProvenance">if set to <c>true</c> provenance report should be added.</param> /// <param name="aooEooExcelFormatter">The aoo eoo excel formatter.</param> public SpeciesAOOEOOExcelXml( IUserContext currentUser, Tuple <int, string, string, string, string>[] data, bool addSettings, bool addProvenance, IAooEooExcelFormatter aooEooExcelFormatter) : base() { _xmlBuilder = new StringBuilder(); // Add file definitions and basic format settings _xmlBuilder.AppendLine(GetInitialSection()); // Specify column and row counts CoordinateSystemId coordinateSystemId = (CoordinateSystemId)SessionHandler.MySettings.Calculation.GridStatistics.CoordinateSystemId.Value; List <string> columns = new List <string>(); columns.Add(Resource.LabelTaxonId); columns.Add(Resource.TaxonSharedScientificName); columns.Add(Resource.TaxonSharedSwedishName); columns.Add(aooEooExcelFormatter.GetAooHeader(coordinateSystemId)); columns.Add(aooEooExcelFormatter.GetEooHeader(coordinateSystemId)); _xmlBuilder.AppendLine(GetColumnInitialSection(columns.Count, data.Length)); // Specify column widths foreach (var column in columns) { _xmlBuilder.AppendLine(GetColumnWidthLine(100)); } // Add row with column headers _xmlBuilder.AppendLine(GetRowStart()); foreach (string column in columns) { _xmlBuilder.AppendLine(GetColumnNameRowLine(column)); } _xmlBuilder.AppendLine(GetRowEnd()); // Data values foreach (var taxon in data) { _xmlBuilder.AppendLine(GetRowStart()); _xmlBuilder.AppendLine(GetDataRowLine("Number", taxon.Item1.ToString(CultureInfo.InvariantCulture))); _xmlBuilder.AppendLine(GetDataRowLine("String", taxon.Item2)); _xmlBuilder.AppendLine(GetDataRowLine("String", taxon.Item3)); long result; if (aooEooExcelFormatter.TryConvertKm2StringToNumber(taxon.Item4, out result)) { _xmlBuilder.AppendLine(GetDataRowLine("Number", result.ToString(CultureInfo.InvariantCulture))); } else { _xmlBuilder.AppendLine(GetDataRowLine("String", "")); } if (aooEooExcelFormatter.TryConvertKm2StringToNumber(taxon.Item5, out result)) { _xmlBuilder.AppendLine(GetDataRowLine("Number", result.ToString(CultureInfo.InvariantCulture))); } else { _xmlBuilder.AppendLine(GetDataRowLine("String", "")); } _xmlBuilder.AppendLine(GetRowEnd()); } _xmlBuilder.AppendLine(GetFinalSection(GetAditionalSheets(currentUser, addSettings, addProvenance))); }