![]() | Общее взаимодействие с Excel |
Сценарий отчёта оперирует шаблоном документа Excel, для взаимодействия с которым предопределена глобальная переменная WorkbookNonExcel.
Вывод информации в документ Excel производится с указанием листа и ячеек на соответствующем листе. Получение листа документа Excel выполняется по индексу, по наименованию, либо производится выбор первого по счёту.
// Получение листа документа Excel c именем "Показания" var fixSheet = WorkbookNonExcel.Worksheets.FirstOrDefault(x => x.Name == "Показания"); // Получение листа документа Excel c именем "Профиль" var profileSheet = WorkbookNonExcel.Worksheets.FirstOrDefault(x => x.Name == "Профиль"); // В первой ячейке лита "Показания" поместить статичный текст "Показания" fixSheet.Cells[0, 0].Value = "Показания"; // В первой ячейке лита "Профиль" поместить статичный текст "Профиль" profileSheet.Cells[0, 0].Value = "Профиль";
![]() |
---|
Нумерация строк и столбцов на листе документа Excel начинается с нуля. |
Ячейка документа Excel является конечным объектом для вывода информации. Получение ячейки документа Excel выполняется по индексам, либо по наименованию.
// Запись целого числа worksheet.Cells[0, 0].Value = 123; // Запись вещественного числа worksheet.Cells["B1"].Value = 123.45; // Запись метки времени worksheet.Cells[0, 2].Value = DateTime.Now.ToString("dd.MM.yyyy HH:mm"); // Запись формулы в ячейку worksheet.Cells[0, 3].Formula = "=SUM(A1, B1)";
![]() |
---|
Формула в ячейке документа Excel может быть записана только в соответствии со своим англоязычным представлением. |
Использование диапазонов ячеек упрощает вывод в документ Excel больших массивов информации. Получение диапазона ячеек для последующего вывода информации может быть выполнено по индексам, либо по наименованием опорных ячеек в левом верхнем углу и нижнем правом углу.
var worksheet = WorkbookNonExcel.Worksheets.FirstOrDefault(); var range = worksheet.Cells.GetSubrange("A1", "C3"); var rangeAbsolute = worksheet.Cells.GetSubrangeAbsolute(1, 1, 1, 2); //Вывод значения в первую ячейку диапазона rangeAbsolute[0, 0].Value = 123.45;