private void WriteCategoryDetailsSheet(GLRecapCategory cat) { var subTitle = cat.AccountType.ToString() + " Details"; _xl.AddWorksheet(subTitle); WriteSheetHeader(subTitle); var startCol = 2; var acctSpan = 4; var dateSpan = 1; var txnSpan = 8; var rowCount = cat.Sum(_ => _.Count); var nextCol = startCol; WriteGLAccountsColumn(cat, ref nextCol, acctSpan); WriteDatesColumn(cat, ref nextCol, dateSpan); WriteTransctionDescCol(cat, txnSpan, ref nextCol); WriteTotalsRowLabel(nextCol - txnSpan, txnSpan); WriteDetailAmounts(cat, ref nextCol, "Debit", _ => _.AsDebit); SummarizeCurrentColumn(rowCount); WriteDetailAmounts(cat, ref nextCol, "Credit", _ => _.AsCredit); SummarizeCurrentColumn(rowCount); SetRowHeights(rowCount); }