В этой статье вы узнаете, как программно создавать файлы Excel XLS/XLSX на C# без установки MS Office.
В настоящее время электронные таблицы стали неотъемлемой частью хранения, организации и анализа данных. Электронные таблицы, такие как MS Excel, способны выполнять вычисления и сортировку, генерировать графики или диаграммы, создавать бюджеты и выполнять множество других задач учета или анализа данных. Поскольку в наши дни автоматизированные решения все больше используются в бизнесе, возникла тенденция создания документов Excel (XLS/XLSX) и управления ими, которая растет огромными темпами. Этот вариант использования вызвал потребность в решении для автоматизации Excel.
В соответствии с вышеупомянутым сценарием, эта всеобъемлющая статья призвана показать вам некоторые основные функции автоматизации Excel в приложениях C# .NET.
- C# API автоматизации Excel
- Динамическое создание файлов Excel XLS или XLSX с помощью C#
- Запишите данные в существующий файл Excel с помощью C#
- Создание диаграмм или графиков в файле Excel с помощью C#
- Создайте таблицу в файле Excel с помощью C#
C# API для создания файлов Excel
Для работы с документами Excel мы будем использовать Aspose.Cells for .NET, который представляет собой мощный API для создания, чтения и обработки электронных таблиц, включая файлы XLS и XLSX. Вы можете скачать или установить API одним из следующих способов:
Использование диспетчера пакетов NuGet
Использование консоли диспетчера пакетов
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 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 с помощью 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 с помощью C#.
Вывод
В этой статье вы узнали, как создавать файлы Excel с нуля с помощью C#. Кроме того, вы увидели, как вставлять данные в листы, создавать диаграммы и вставлять таблицы в файлы Excel. Вы можете ознакомиться с документацией Aspose.Cells для .NET, чтобы узнать о расширенных функциях для работы с файлами Excel в C#.