static void FillInvoiceTable(Worksheet sheet) { int currentRowOffset = InitialRowOffset + 1; foreach (Ship ship in Invoices) { sheet[currentRowOffset, InitialColumnOffset].Value = ship.Description; Cell cell = sheet[currentRowOffset, InitialColumnOffset + 1]; cell.Value = ship.Quantity; cell.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center; cell = sheet[currentRowOffset, InitialColumnOffset + 2]; sheet[currentRowOffset, InitialColumnOffset + 2].Value = ship.Price; cell.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center; cell = sheet[currentRowOffset, InitialColumnOffset + 3]; cell.NumberFormat = "0.00%;[Red]-0.00%;;@"; cell.Value = CellValue.TryCreateFromObject(ship.Discount); cell.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center; cell = sheet[currentRowOffset, InitialColumnOffset + 4]; cell.Formula = string.Format("C{0}*D{0}*(1-E{0})", currentRowOffset + 1); cell.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center; if (currentRowOffset % 2 == 0) { sheet.Range.FromLTRB(1, currentRowOffset, 5, currentRowOffset).FillColor = System.Drawing.Color.FromArgb(0xff, 0xF1, 0xF1, 0xF1); } currentRowOffset++; } }
public CellValue TryConvertFromObject(object value) { if (value is DateTime) { return(((DateTime)value).ToString("MMM-dd")); } if (value is Weather) { return(value.ToString()); } if (value is List <HourlyReport> ) { var hourly = (List <HourlyReport>)value; if (hourly.Count == 0) { return("Undefined"); } var high = hourly .OrderByDescending(p => p.Temperature) .FirstOrDefault() .Temperature; var low = hourly .OrderBy(p => p.Temperature) .FirstOrDefault() .Temperature; return(String.Format("High - {0}, Low - {1}", high, low)); } return(CellValue.TryCreateFromObject(value)); }