private void PrepareInvoiceDocument(Worksheet worksheet, int itemsCount) { int lastItemIndexRow = IndexRowItemStart + itemsCount; CellIndex firstUsedCellIndex = new CellIndex(0, 0); CellIndex lastUsedCellIndex = new CellIndex(lastItemIndexRow + 1, IndexColumnSubTotal); CellBorder border = new CellBorder(CellBorderStyle.DashDot, InvoiceBackground); worksheet.Cells[firstUsedCellIndex, lastUsedCellIndex].SetBorders(new CellBorders(border, border, border, border, null, null, null, null)); worksheet.Cells[firstUsedCellIndex].SetValue("INVOICE"); worksheet.Cells[firstUsedCellIndex].SetFontSize(20); worksheet.Cells[firstUsedCellIndex].SetHorizontalAlignment(RadHorizontalAlignment.Center); worksheet.Cells[0, 0, 0, IndexColumnSubTotal].MergeAcross(); worksheet.Columns[IndexColumnUnitPrice].SetWidth(new ColumnWidth(125, true)); worksheet.Columns[IndexColumnSubTotal].SetWidth(new ColumnWidth(125, true)); worksheet.Cells[IndexRowItemStart, 0].SetValue("Item"); worksheet.Cells[IndexRowItemStart, IndexColumnQuantity].SetValue("QTY"); worksheet.Cells[IndexRowItemStart, IndexColumnUnitPrice].SetValue("Unit Price"); worksheet.Cells[IndexRowItemStart, IndexColumnSubTotal].SetValue("SubTotal"); worksheet.Cells[IndexRowItemStart, 0, lastItemIndexRow, IndexColumnQuantity - 1].MergeAcross(); worksheet.Cells[IndexRowItemStart, 0, IndexRowItemStart, IndexColumnSubTotal].SetFill (new GradientFill(GradientType.Horizontal, InvoiceBackground, InvoiceBackground)); worksheet.Cells[IndexRowItemStart, 0, IndexRowItemStart, IndexColumnSubTotal].SetForeColor(InvoiceHeaderForeground); worksheet.Cells[IndexRowItemStart, IndexColumnUnitPrice, lastItemIndexRow, IndexColumnSubTotal].SetFormat( new CellValueFormat(AccountFormatString)); worksheet.Cells[lastItemIndexRow + 1, 6].SetValue("TOTAL: "); worksheet.Cells[lastItemIndexRow + 1, 7].SetFormat(new CellValueFormat(AccountFormatString)); string subTotalColumnCellRange = NameConverter.ConvertCellRangeToName( new CellIndex(IndexRowItemStart + 1, IndexColumnSubTotal), new CellIndex(lastItemIndexRow, IndexColumnSubTotal)); worksheet.Cells[lastItemIndexRow + 1, IndexColumnSubTotal].SetValue(string.Format("=SUM({0})", subTotalColumnCellRange)); worksheet.Cells[lastItemIndexRow + 1, IndexColumnUnitPrice, lastItemIndexRow + 1, IndexColumnSubTotal].SetFontSize(20); }