private void GetReportInfo(ISheetBuilder sb, string reportName, Run run, DateTime reportDate) { sb.Column(1, cb => cb.Width(20)) .Column(2, cb => cb.Width(35)) .Block(bb => { bb.Add("Report Date").Style(GamePlanReportStyles.HeaderStyle.Name); bb.Add(reportDate.ToString(DateTimeFormat)).Style(GamePlanReportStyles.HeaderStyle.Name); }) .Block(bb => { bb.Add("Report Name").Style(GamePlanReportStyles.LightHeaderStyle.Name); bb.Add(reportName).Style(GamePlanReportStyles.LightHeaderStyle.Name); }) .Block(bb => { bb.Add("Run Name").Style(GamePlanReportStyles.LightHeaderStyle.Name); bb.Add(run.Description).Style(GamePlanReportStyles.LightHeaderStyle.Name); }) .Block(bb => { bb.Add("Run Id").Style(GamePlanReportStyles.LightHeaderStyle.Name); bb.Add(run.Id).Style(GamePlanReportStyles.LightHeaderStyle.Name); }); if (run.ExecuteStartedDateTime.HasValue) { sb.Block(bb => { bb.Add("Run Execute Date").Style(GamePlanReportStyles.LightHeaderStyle.Name); bb.Add(run.ExecuteStartedDateTime.Value.ToString(DateTimeFormat)).Style(GamePlanReportStyles.LightHeaderStyle.Name); }); } }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (models, sheetDefinition, doc) => { originalFunc(models, sheetDefinition, doc); var sheetName = sheetDefinition.Name; var sheetData = doc.GetSheetDataByName(sheetName); var firstRow = sheetData.Descendants<Row>().FirstOrDefault(); var numberOfColumns = firstRow == null ? 0 : firstRow.Descendants<Cell>().Count(); //No data, no filter will be created if (numberOfColumns == 0) return; var filter = new AutoFilter { Reference = string.Format("{0}1:{1}1", GetColumnName(1), GetColumnName(numberOfColumns)) }; var worksheet = doc.GetWorksheetByName(sheetName); worksheet.AppendChild(filter); }; return target; }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (objects, sheetDefinition, doc) => { originalFunc(objects, sheetDefinition, doc); var sheetData = doc.GetSheetDataByName(sheetDefinition.Name); var headerRow = sheetData.Descendants<Row>().FirstOrDefault(); if (headerRow == null) return; var index = 0; var cells = headerRow.Descendants<Cell>().ToList(); foreach (var colDef in sheetDefinition.ColumnDefinitions) { if (colDef.Header != null && index < cells.Count) { var cell = cells[index]; var value = cell.CellValue.InnerText; cell.CellValue = new CellValue(_localization.GetLocalString(value)); } index ++; } }; return target; }
private void SetColumnsWidthForRunReport(ISheetBuilder sb, int columnsCount) { sb.Column(1, cb => cb.Width(55)); for (int i = 1; i < columnsCount; i++) { sb.Column(i + 1, cb => cb.Width(2.5)); } }
private void GetSmoothFailures(ISheetBuilder sheetBuilder, List <SmoothFailureExtendedModel> smoothFailures) { sheetBuilder.Freeze(1, 2) .DataContent(smoothFailures, GetSmoothFailureExportConfig().BuildConfiguration()) .AutoFitColumns(1, 21); if (smoothFailures.Count == 0) { WriteNoDataRow(sheetBuilder, 21); } }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (models, sheetDefinition, doc) => { originalFunc(models, sheetDefinition, doc); AddColumns(doc, sheetDefinition.Name); }; return target; }
private void WriteGrid(ISheetBuilder sb, ExcelReportGrid grid) { grid.HeaderRows.ForEach(row => WriteRow(sb, grid, row)); if (grid.HasData) { grid.BodyRows.ForEach(row => WriteRow(sb, grid, row)); } else { WriteNoDataRow(sb, grid.MaxColumnCount); } }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (objects, sheetDefinition, doc) => { originalFunc(objects, sheetDefinition, doc); var worksheet = doc.GetWorksheetByName(sheetDefinition.Name); worksheet.AddMdsolAttribute("version", AssemblyVersion); }; return target; }
private void WriteNoDataRow(ISheetBuilder sb, int maxColumnCount) { var cell = new ExcelReportCell { Value = "No data", Alignment = ExcelHorizontalAlignment.Center, StyleName = GamePlanReportStyles.EmptyCellStyle.Name }; sb.Block(bb => { writeCell(bb, cell, maxColumnCount); }); }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (models, sheetDefinition, doc) => { originalFunc(models, sheetDefinition, doc); var headers = sheetDefinition.ColumnDefinitions.Select(x => x.Header ?? x.PropertyName); var headerRow = CreateHeaderRow(headers); var sheetData = doc.GetSheetDataByName(sheetDefinition.Name); sheetData.InsertAt(headerRow, 0); }; return target; }
private void WriteRow(ISheetBuilder sb, ExcelReportGrid grid, ExcelReportRow row) { sb.Block(bb => { for (var i = 0; i < row.Cells.Count; i++) { var cell = row.Cells[i]; var colSpan = 1; if (i > 0) { colSpan = (grid.MaxColumnCount - 1) / (row.Cells.Count - 1); } writeCell(bb, cell, colSpan); } }); }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (models, sheetDefinition, doc) => { originalFunc(models, sheetDefinition, doc); var styleIndex = doc.GetStyleIndex(_styleName); var sheetData = doc.GetSheetDataByName(sheetDefinition.Name); var cells = sheetData.Descendants<Cell>(); foreach (var cell in cells) { cell.StyleIndex = styleIndex; } }; return target; }
public ISheetBuilder Decorate(ISheetBuilder target) { var originalFunc = target.BuildSheet; target.BuildSheet = (models, sheetDefinition, doc) => { originalFunc(models, sheetDefinition, doc); var validations = AddDataValidations(sheetDefinition.ColumnDefinitions); var worksheet = doc.GetWorksheetByName(sheetDefinition.Name); var node = worksheet.GetFirstChild<DataValidations>(); if (!validations.Any()){ return; } if (node == null) { node = new DataValidations(); worksheet.Append(node); } node.Append(validations); }; return target; }
public void AutoFit(List <int> columns, ISheetBuilder sheetBuilder) => columns?.ForEach(column => sheetBuilder.Column(column, columnBuilder => columnBuilder.AutoFitColumn()));
public void AutoFitAll(ISheetBuilder sheetBuilder) => AutoFit(AllColumns, sheetBuilder);