Для изменения размера нажмите или перетащите

Общее взаимодействие с Excel

Сценарий отчёта оперирует шаблоном документа Excel, для взаимодействия с которым предопределена глобальная переменная WorkbookNonExcel.

Лист

Вывод информации в документ Excel производится с указанием листа и ячеек на соответствующем листе. Получение листа документа Excel выполняется по индексу, по наименованию, либо производится выбор первого по счёту.

C#
// Получение листа документа 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 выполняется по индексам, либо по наименованию.

C#
// Запись целого числа
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 больших массивов информации. Получение диапазона ячеек для последующего вывода информации может быть выполнено по индексам, либо по наименованием опорных ячеек в левом верхнем углу и нижнем правом углу.

C#
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;
См. также