{
//занести в столбец А порядковый номер записи
PutCellBorder("A" + (i + 5).ToString(), i.ToString());
//получить строку из родительской таблицы Contacts
DataRow contact = row.GetParentRow(dataSet11.Relations ["FK_Contacts_Phones"]);
//занести в столбец B фамилию абонента
PutCellBorder("B" + (i + 5).ToString(), contact["Fam"].ToString());
//занести в столбец C имя абонента
PutCellBorder("C" + (i + 5).ToString(), contact["Name"].ToString());
//занести в столбец D номер телефона
PutCellBorder("D" + (i + 5).ToString(), row["Phone"].ToString());
i++;
}
//сделать приложение Excel видимым
ExcelApp.Visible = true;
}
Внешний вид сформированного программой списка будет выглядеть примерно так (рис. 5.3):
Рисунок 5.3 – Внешний вид сформированного в Excel отчета
В данном отчете просто отображаются все номера телефонов из справочника. Модифицируем процесс его формирования так, чтобы имелась возможность их группировки по фамилиям людей (рис. 5.4).
Рисунок 5.4 – Отчет с группировкой данных
Для реализации подобных действий обработчик нажатия кнопки нужно модифицировать следующим образом: