private void printToExcel_Click(object sender, EventArgs e) { Logging.StartFirstLevel(79); Logging.Comment("Выгрузка отчета по оборудованию"); Logging.Comment($"Местоположение:{cbLocation.Text}"); Logging.Comment($"Ответственный:{cbResponsibles.Text}"); Logging.Comment($"Статус:{cbStatus.Text}"); Logging.Comment($"Комплектующие или Оборудование:{(rbHrdWare.Checked? rbHrdWare.Text:rbComponents.Text)}"); Logging.Comment($"Показать данные за N дней:{(chbDays.Checked ? nudDays.Value.ToString() : "Показать данные за все время")}"); Logging.Comment($"Поиск по Инв.№:{tbNumber.Text}"); Logging.Comment($"поиск по EAN:{tbEAN.Text}"); Logging.Comment($"поиск по наименованию:{tbName.Text}"); Logging.Comment($"поиск по Номеру СЗ:{tbNumberSZ.Text}"); Logging.StopFirstLevel(); var report = new ExcelUnLoad(); report.AddSingleValue("Инв. №", 1, 1); report.AddSingleValue("EAN", 1, 2); report.AddSingleValue("Наименование", 1, 3); report.AddSingleValue("Объект", 1, 4); report.AddSingleValue("Оборудование/Комплектующие", 1, 5); report.AddSingleValue("Местоположение", 1, 6); report.AddSingleValue("Ответственный", 1, 7); report.AddSingleValue("Статус", 1, 8); report.SetBorders(1, 1, 1, 8); report.SetFontBold(1, 1, 1, 8); var rowCount = 2; foreach (DataGridViewRow row in dgvData.Rows) { var rowCountStart = rowCount; report.AddSingleValue(row.Cells["cNum"].Value.ToString(), rowCount, 1); report.AddSingleValue(row.Cells["cEAN"].Value.ToString(), rowCount, 2); report.AddSingleValue(row.Cells["cName"].Value.ToString(), rowCount, 3); report.AddSingleValue(row.Cells["LocationComment"].Value.ToString(), rowCount, 4); report.AddSingleValue(row.Cells["cHardWare"].Value.ToString(), rowCount, 5); report.AddSingleValue(row.Cells["cLocation"].Value.ToString(), rowCount, 6); report.AddSingleValue(row.Cells["cResponsible"].Value.ToString(), rowCount, 7); report.AddSingleValue(row.Cells["cStatus"].Value.ToString(), rowCount, 8); rowCount++; for (var i = 1; i < 8; i++) { report.Merge(rowCountStart, i, rowCount - 1, i); report.SetBorders(rowCountStart, 1, rowCount - 1, 8); } } report.SetColumnAutoSize(1, 1, rowCount, 8); report.SetColumnWidth(1, 1, rowCount, 1, 8); report.SetWrapText(1, 1, rowCount, 8); report.Show(); }