В этой статье вы узнаете, как программно создавать файлы Excel XLS/XLSX на C# без установки MS Office.

Создать файл Excel в C# API

В настоящее время электронные таблицы стали неотъемлемой частью хранения, организации и анализа данных. Электронные таблицы, такие как MS Excel, способны выполнять вычисления и сортировку, генерировать графики или диаграммы, создавать бюджеты и выполнять множество других задач учета или анализа данных. Поскольку в наши дни автоматизированные решения все больше используются в бизнесе, возникла тенденция создания документов Excel (XLS/XLSX) и управления ими, которая растет огромными темпами. Этот вариант использования вызвал потребность в решении для автоматизации Excel.

В соответствии с вышеупомянутым сценарием, эта всеобъемлющая статья призвана показать вам некоторые основные функции автоматизации Excel в приложениях C# .NET.

C# API для создания файлов Excel

Для работы с документами Excel мы будем использовать Aspose.Cells for .NET, который представляет собой мощный API для создания, чтения и обработки электронных таблиц, включая файлы XLS и XLSX. Вы можете скачать или установить API одним из следующих способов:

Использование диспетчера пакетов NuGet

C# Библиотека автоматизации Excel

Использование консоли диспетчера пакетов

PM> Install-Package Aspose.Cells

Создайте Excel XLS или XLSX в C#

Файл Excel также известен как рабочая книга, которая состоит из одного или нескольких рабочих листов, содержащих строки и столбцы для хранения данных. Таким образом, рабочая книга действует как контейнер рабочих листов в файле Excel. Таким образом, чтобы создать файл Excel, вы сначала создадите рабочую книгу, а затем рабочие листы в этой рабочей книге. Ниже приведены шаги по созданию файла Excel с использованием Aspose.Cells для .NET.

  • Создайте экземпляр класса Workbook.
  • Получите доступ к первому листу (созданному по умолчанию) книги.
  • Получите доступ к нужной ячейке (ячейкам) рабочего листа и поместите значение в ячейку (ячейки).
  • Сохраните книгу как файл XLS или XLSX.

В следующем примере кода показано, как создать файл Excel XLSX с помощью C#.

// Создайте экземпляр объекта Workbook, который представляет файл Excel.
Workbook wb = new Workbook();

// Когда вы создаете новую книгу, в книгу добавляется по умолчанию «Лист1».
Worksheet sheet = wb.Worksheets[0];

// Получите доступ к ячейке «A1» на листе.
Cell cell = sheet.Cells["A1"];

// Введите «Привет, мир!» текст в ячейку «А1».
cell.PutValue("Hello World!");

// Сохраните Excel как файл .xlsx.
wb.Save("Excel.xlsx", SaveFormat.Xlsx);

Выход

Создание файлов Excel в C#

Запись данных в файл Excel XLSX на C#

Если вы хотите отредактировать и записать данные в существующий файл Excel, вы также можете сделать это аналогичным образом. Просто загрузите исходный документ электронной таблицы Excel, используя объект Workbook, и получите доступ к нужным листам и ячейкам. Ниже приведены шаги для редактирования существующего файла Excel.

  • Откройте файл Excel в объекте FileStream.
  • Создайте экземпляр Workbook и инициализируйте его с помощью объекта FileStream.
  • Получите доступ к рабочим листам и ячейкам, используя классы Worksheet и Cell соответственно.
  • Сохраните книгу как файл Excel .xlsx.

В следующем примере кода показано, как редактировать и записывать данные в существующий файл Excel XLSX на C#.

// Создайте экземпляр объекта Workbook, который представляет файл Excel.
Workbook wb = new Workbook("Excel.xlsx");

// Доступ к "Лист1" из книги.
Worksheet sheet = wb.Worksheets[0];

// Получите доступ к ячейке «A1» на листе.
Cell cell = sheet.Cells["A1"];

// Введите «Привет, мир!» текст в ячейку «А1».
cell.PutValue("The cell's value is updated.");

// Сохраните файл Excel как .xlsx.
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);

Создание диаграмм или графиков в файле Excel XLSX с использованием С#

Электронные таблицы Excel обеспечивают прекрасный способ анализа или визуального представления данных с помощью графиков и диаграмм. Aspose.Cells для .NET предоставляет полный набор классов для создания и управления различными диаграммами в электронных таблицах Excel, где каждый класс используется для выполнения определенных задач.

Чтобы создать диаграммы в файле Excel, вам необходимо выполнить следующие шаги:

  • Добавьте некоторые данные (которые будут использоваться в качестве источника данных) на лист, обратившись к его ячейкам.
  • Добавьте новый объект диаграммы на рабочий лист, используя коллекцию Worksheet.Charts, передав тип диаграммы с помощью перечисления ChartType.
  • Получить только что созданную диаграмму из коллекции в объекте Chart.
  • Укажите диапазон ячеек, чтобы указать источник данных для объекта диаграммы.
  • Сохраните книгу как файл Excel .xlsx.

В следующем примере кода показано, как создать диаграмму в файле Excel XLSX на C#.

// Создайте экземпляр объекта Workbook, который представляет файл Excel.
Workbook wb = new Workbook();

// Добавьте новый лист к объекту Excel.
int sheetIndex = wb.Worksheets.Add();

// Получите ссылку на недавно добавленный рабочий лист, передав его индекс листа.
Worksheet worksheet = wb.Worksheets[sheetIndex];

// Добавьте фиктивные значения в ячейки.
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// Добавьте диаграмму на рабочий лист.
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);

// Получите доступ к экземпляру только что добавленной диаграммы.
Charts.Chart chart = worksheet.Charts[chartIndex];

// Добавьте SeriesCollection (источник данных диаграммы) на диаграмму в диапазоне от ячейки «A1» до «B3».
chart.NSeries.Add("A1:B3", true);

// Сохраните файл Excel.
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);

Выход

Создать диаграмму в Excel на С#

Подробнее о создании диаграмм на листах Excel с помощью C#.

Создайте таблицу в файле Excel XLSX на С#

Вы также можете создать таблицу из диапазона ячеек на листе Excel и добавить строку для итогового значения (сумма, количество и т. д.) в таблице. Ниже приведены шаги для создания таблицы в файле Excel (XLSX) с использованием Aspose.Cells для .NET:

  • Загрузите книгу Excel или создайте новую с помощью класса Workbook.
  • Добавьте данные в ячейки рабочего листа.
  • Добавьте новый ListObject на рабочий лист.
  • Установите для свойства ListObject.ShowTotals значение true.
  • Подсчитайте итог и сохраните книгу в виде файла Excel .xlsx.

В следующем примере кода показано, как создать таблицу на листе Excel в C#.

// Создайте экземпляр объекта Workbook, который представляет файл Excel.
Workbook wb = new Workbook();

// Получите первый рабочий лист.
Worksheet sheet = wb.Worksheets[0];

// Получение коллекции ячеек рабочего листа
Cells cells = sheet.Cells;

// Установка значения в ячейки
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");

cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James"); 

cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1); 

cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang"); 

cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe"); 


cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France"); 


cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500); 

// Добавление нового объекта списка на лист
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];

// Добавление стиля по умолчанию в таблицу
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;

// Показать итог
listObject.ShowTotals = true;

// Установите тип расчета поля «Квартал»
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;

// Сохраните файл Excel.
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);

Выход

Создать таблицу на листе Excel в С#

Подробнее о работе с таблицами на листах Excel с помощью C#.

Вывод

В этой статье вы узнали, как создавать файлы Excel с нуля с помощью C#. Кроме того, вы увидели, как вставлять данные в листы, создавать диаграммы и вставлять таблицы в файлы Excel. Вы можете ознакомиться с документацией Aspose.Cells для .NET, чтобы узнать о расширенных функциях для работы с файлами Excel в C#.

Связанная статья