Легко создавайте файлы Excel на C#
Создание файлов Excel (.XLS и .XLSX) на C# может быть важнейшим требованием для многих приложений. Однако полагаться на установку Microsoft Office на сервере или клиентском компьютере может быть непрактично и обременительно.
К счастью, существуют надежные библиотеки и инструменты, которые позволяют разработчикам программно создавать электронные таблицы Excel на C# без необходимости использования Microsoft Office. В этой статье рассматриваются различные методы и библиотеки для эффективного достижения этой цели.
Команда | Описание |
---|---|
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; | Устанавливает контекст лицензии для EPPlus для некоммерческого использования. |
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); | Создает новый лист с именем «Лист1» в пакете Excel с помощью EPPlus. |
worksheet.Cells[1, 1].Value = "Hello"; | Устанавливает значение ячейки в строке 1, столбце 1 на «Привет» с помощью EPPlus. |
IWorkbook workbook = new XSSFWorkbook(); | Инициализирует новый экземпляр книги для создания файлов .XLSX с помощью NPOI. |
ISheet sheet = workbook.CreateSheet("Sheet1"); | Создает новый лист с именем «Лист1» в книге с помощью NPOI. |
IRow row = sheet.CreateRow(0); | Создает новую строку с индексом 0 на листе, используя NPOI. |
row.CreateCell(0).SetCellValue("Hello"); | Устанавливает значение ячейки в строке 0, столбце 0 как «Привет» с помощью NPOI. |
Понимание создания файлов Excel на C#
Приведенные выше сценарии демонстрируют, как создавать файлы Excel (.XLS и .XLSX) на C# без установки Microsoft Office с использованием двух популярных библиотек: EPPlus и NPOI. Первый скрипт использует библиотеку EPPlus. Все начинается с установки контекста лицензии для EPPlus для некоммерческого использования с помощью команды ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Это обеспечивает соблюдение условий лицензирования EPPlus. Затем он создает новый экземпляр пакета Excel, используя using (var package = new ExcelPackage())и добавляет новый лист с именем «Лист1», используя var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Данные добавляются в ячейки путем непосредственного задания их значений, например, worksheet.Cells[1, 1].Value = "Hello"; присваивает значение «Привет» первой ячейке в первой строке. Затем файл сохраняется на диск с помощью package.SaveAs(new FileInfo("example.xlsx"));, завершая процесс создания файла Excel.
Второй сценарий использует библиотеку NPOI для создания файла Excel. Он начинается с инициализации нового экземпляра книги для создания файлов .XLSX с IWorkbook workbook = new XSSFWorkbook();. В книге создается новый лист с именем «Лист1» с помощью ISheet sheet = workbook.CreateSheet("Sheet1");. Строки и ячейки создаются и заполняются данными путем вызова IRow row = sheet.CreateRow(0); и row.CreateCell(0).SetCellValue("Hello");, соответственно. Созданная книга затем записывается в файловый поток и сохраняется на диске с помощью FileStream завернутый в using заявление о правильном управлении ресурсами. Окончательно, Console.WriteLine("Excel file created successfully!"); выводит сообщение об успехе на консоль. Эти сценарии показывают, насколько мощными и универсальными являются эти библиотеки для создания файлов Excel на C# без необходимости установки Microsoft Office.
Создание файлов Excel с использованием EPPlus на C#
Этот сценарий демонстрирует создание файла Excel с использованием библиотеки EPPlus на C#.
using System;
using System.IO;
using OfficeOpenXml;
namespace ExcelCreationExample
{
class Program
{
static void Main(string[] args)
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
using (var package = new ExcelPackage())
{
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].Value = "Hello";
worksheet.Cells[1, 2].Value = "World";
var file = new FileInfo("example.xlsx");
package.SaveAs(file);
Console.WriteLine("Excel file created successfully!");
}
}
}
}
Создание файлов Excel с помощью NPOI на C#
В этом сценарии показано, как использовать библиотеку NPOI для создания файла Excel на C#.
using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
namespace ExcelCreationExample
{
class Program
{
static void Main(string[] args)
{
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Hello");
row.CreateCell(1).SetCellValue("World");
using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(file);
}
Console.WriteLine("Excel file created successfully!");
}
}
}
Создание файлов Excel с помощью ClosedXML на C#
Еще одна отличная библиотека для создания файлов Excel на C# без использования Microsoft Office — ClosedXML. ClosedXML — это библиотека .NET для чтения, управления и записи файлов Excel 2007+ (.XLSX). Он интуитивно понятен и прост в использовании, что делает его фаворитом среди разработчиков. ClosedXML позволяет создавать файлы Excel с богатыми функциями, такими как форматирование ячеек, добавление формул и создание таблиц. Чтобы начать использовать ClosedXML, вам необходимо установить его через NuGet. После настройки вы можете создать новую книгу Excel с помощью всего лишь нескольких строк кода. Например, вы создаете новую книгу и добавляете лист с именем «Лист1», используя var workbook = new XLWorkbook(); и var worksheet = workbook.Worksheets.Add("Sheet1"); команды.
Данные можно добавлять в ячейки с помощью таких команд, как worksheet.Cell(1, 1).Value = "Hello";и вы можете форматировать ячейки, добавлять границы и устанавливать стили шрифтов с помощью простых и понятных команд. После того, как ваши данные установлены, вы сохраняете книгу в файл, используя workbook.SaveAs("example.xlsx");. ClosedXML поддерживает широкий спектр функций, включая сводные таблицы, условное форматирование и диаграммы, что делает его мощным инструментом для программного создания сложных документов Excel. Такая гибкость гарантирует, что разработчики смогут создавать файлы Excel с учетом их конкретных потребностей, не полагаясь на установку Microsoft Office, что упрощает развертывание и распространение приложений.
Часто задаваемые вопросы о создании файлов Excel на C#
- Как мне установить EPPlus в свой проект?
- Вы можете установить EPPlus с помощью диспетчера пакетов NuGet с помощью команды Install-Package EPPlus.
- В чем разница между EPPlus и NPOI?
- EPPlus известен своей простотой использования и поддержкой только файлов .XLSX, тогда как NPOI поддерживает форматы .XLS и .XLSX, но требует более сложного обучения.
- Может ли ClosedXML эффективно обрабатывать большие файлы Excel?
- Да, ClosedXML может обрабатывать большие файлы Excel, но производительность может варьироваться в зависимости от сложности данных и выполняемых операций.
- Можно ли создавать диаграммы в файлах Excel с помощью ClosedXML?
- Да, ClosedXML поддерживает создание различных типов диаграмм в файлах Excel.
- Как форматировать ячейки с помощью ClosedXML?
- Вы можете форматировать ячейки, используя такие команды, как worksheet.Cell(1, 1).Style.Font.Bold = true; чтобы сделать шрифт полужирным.
- Могу ли я добавлять формулы в ячейки с помощью EPPlus?
- Да, вы можете добавлять формулы в ячейки в EPPlus, используя такие команды, как worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
- Какие форматы файлов поддерживает NPOI?
- NPOI поддерживает форматы файлов .XLS и .XLSX.
- Как сохранить файл Excel с помощью EPPlus?
- Вы можете сохранить файл Excel с помощью команды package.SaveAs(new FileInfo("example.xlsx"));.
- Можно ли использовать ClosedXML бесплатно?
- Да, ClosedXML можно использовать бесплатно и лицензируется по лицензии MIT.
Заключительные мысли о создании файлов Excel на C#
Создание файлов Excel на C# без установки Microsoft Office — очень практичный подход для разработчиков. Используя такие библиотеки, как EPPlus, NPOI и ClosedXML, вы можете легко создавать электронные таблицы Excel, предлагая широкий спектр функций и возможностей настройки. Эти решения не только упрощают процесс разработки, но также гарантируют, что ваши приложения станут более портативными и их будет проще развертывать в различных средах.