Генерация Excel файла средствами - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Имеется следующий код:
            Excel.Application excelApp = new Excel.Application();
            Excel.Workbook book = null;
            Excel.Worksheet sheet = null;
            Excel.Range range = null;
            book = excelApp.Workbooks.Add();
            sheet = (Excel.Worksheet)book.ActiveSheet;
            
            // создание шапки в Excel файле
            sheet.Cells[1, 1] = "Дата расчёта";
            sheet.Cells[2, 1] = "Название фирмы";
            sheet.Cells[3, 1] = "Сумма оборотных активов";
            sheet.Cells[4, 1] = "Налог на добавленную стоимость";
            sheet.Cells[5, 1] = "Краткосрочные обязательства";
            sheet.Cells[6, 1] = "Долгосрочные обязательства";
            sheet.Cells[7, 1] = "Пассивы";
            sheet.Cells[8, 1] = "Прибыль от реализации";
            sheet.Cells[9, 1] = "Выручка от реализации";
            sheet.Cells[10, 1] = "Показатель риска банкротства";
            sheet.Cells[11, 1] = "Рентабельность продаж продукции";
            excelApp.Columns[1].AutoFit();
 
            int row, col = 0;
            // цикл записи данных в Excel файл
            for (row = 2; row <= j + 1; row++)
            {
                int c = 0;
                for (col = 1; col < i; col++, c++)
                {
                    sheet.Cells[col, row] = list[row - 2][c];
                }
                excelApp.Columns[row].AutoFit();
            }
            
            excelApp.Visible = true;
Нареканий по его работе нет, но есть вопросы, ответы на которые я не смог найти (хотя они банальны, на мой взгляд): 1) как задать количество создаваемых листов (по умолчанию их 3) и имя создаваемого листа? 2) как задать имя книги, чтобы при открытии оно отображалось в созданном Excel файле? С уважением, Юрий Юрин-Комаров!
Нарыл решение самостоятельно
            Excel.Application excelApp = new Excel.Application();
            Excel.Workbook book = null;
            Excel.Worksheet sheet = null;
            Excel.Range range = null;
            // задаю количество листов в документе
            excelApp.SheetsInNewWorkbook = 1;
            // создаю книгу
            book = excelApp.Workbooks.Add();
            // обращаюсь к активному листу
            sheet = (Excel.Worksheet)book.ActiveSheet;
            // задаю имя листа
            sheet.Name = "ИМЯ ЛИСТА";
А вот задать имя книги никак не получается, потому что .Name для Workbook находится в состоянии ReadOnly, что печально. Если кто-то всё же знает решение - жду ответа. С уважением, Юрий Юрин-Комаров!

Решение задачи: «Генерация Excel файла средствами»

textual
Листинг программы
_book.SaveAs(fileName)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5