public void SetHeaderColumnNumberStyle(TgColumn gridColumn) { var cell = _worksheet.Cells[_row + 1, gridColumn.PositionInSheet]; cell.Style.SetStyle(gridColumn.HeaderStyle ?? _defaultColumnOptions.HeaderStyle); cell.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; }
protected override void PopulateData() { TgColumn groupingTgColumn = GetGroupingTgColumn(); int row = GridOptions.HeaderRowsCount + GridOptions.TableTopPosition; int groupIncrement = 1; foreach (var groupItems in base.GroupedCollection) { if (GridOptions.PrintRowNumbers) { int col = GridOptions.RowNumberColumn.PositionInSheet; MergeGroupRows(row, col, groupItems.Count()); Worksheet.Cells[row, col].Value = groupIncrement++; } int groupingColumnOrder = groupingTgColumn.PositionInSheet; MergeGroupRows(row, groupingColumnOrder, groupItems.Count()); foreach (var item in groupItems) { foreach (var gridColumn in GridOptions.Columns) { var cellValue = gridColumn.PropertyInfo.GetValue(item, null); Worksheet.Cells[row, gridColumn.PositionInSheet].Value = cellValue; } row++; } base.PrintSummary(row - groupItems.Count(), row - 1); if (GridOptions.HasColumnSummary) { row++; } } }
public void PrintSummary(TgColumn gridColumn, int fromRow, int toRow) { var aggFunction = gridColumn.Summary.AggregateFunction; var aggFunctionName = aggFunction.Type.GetDisplayName(); string groupBeginAddress = _worksheet.Cells[fromRow, gridColumn.PositionInSheet].Address; string groupEndAddress = _worksheet.Cells[toRow, gridColumn.PositionInSheet].Address; var cell = _worksheet.Cells[toRow + 1, gridColumn.PositionInSheet]; cell.Style.SetStyle(gridColumn.Summary.Style); cell.Style.Locked = true; cell.Formula = aggFunction.HasCondition ? $"{aggFunctionName}({groupBeginAddress}:{groupEndAddress},\"{aggFunction.Condition}\")" : $"{aggFunctionName}({groupBeginAddress}:{groupEndAddress})"; }
public void SetHeaderText(TgColumn tgColumn) { var cell = _worksheet.Cells[_row, tgColumn.PositionInSheet]; cell.Value = tgColumn.Header ?? tgColumn.PropertyName; }