Создание файлов Excel на C# без установки Microsoft Office

Создание файлов Excel на C# без установки Microsoft Office
Создание файлов Excel на C# без установки Microsoft Office

Легко создавайте файлы 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#

  1. Как мне установить EPPlus в свой проект?
  2. Вы можете установить EPPlus с помощью диспетчера пакетов NuGet с помощью команды Install-Package EPPlus.
  3. В чем разница между EPPlus и NPOI?
  4. EPPlus известен своей простотой использования и поддержкой только файлов .XLSX, тогда как NPOI поддерживает форматы .XLS и .XLSX, но требует более сложного обучения.
  5. Может ли ClosedXML эффективно обрабатывать большие файлы Excel?
  6. Да, ClosedXML может обрабатывать большие файлы Excel, но производительность может варьироваться в зависимости от сложности данных и выполняемых операций.
  7. Можно ли создавать диаграммы в файлах Excel с помощью ClosedXML?
  8. Да, ClosedXML поддерживает создание различных типов диаграмм в файлах Excel.
  9. Как форматировать ячейки с помощью ClosedXML?
  10. Вы можете форматировать ячейки, используя такие команды, как worksheet.Cell(1, 1).Style.Font.Bold = true; чтобы сделать шрифт полужирным.
  11. Могу ли я добавлять формулы в ячейки с помощью EPPlus?
  12. Да, вы можете добавлять формулы в ячейки в EPPlus, используя такие команды, как worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Какие форматы файлов поддерживает NPOI?
  14. NPOI поддерживает форматы файлов .XLS и .XLSX.
  15. Как сохранить файл Excel с помощью EPPlus?
  16. Вы можете сохранить файл Excel с помощью команды package.SaveAs(new FileInfo("example.xlsx"));.
  17. Можно ли использовать ClosedXML бесплатно?
  18. Да, ClosedXML можно использовать бесплатно и лицензируется по лицензии MIT.

Заключительные мысли о создании файлов Excel на C#

Создание файлов Excel на C# без установки Microsoft Office — очень практичный подход для разработчиков. Используя такие библиотеки, как EPPlus, NPOI и ClosedXML, вы можете легко создавать электронные таблицы Excel, предлагая широкий спектр функций и возможностей настройки. Эти решения не только упрощают процесс разработки, но также гарантируют, что ваши приложения станут более портативными и их будет проще развертывать в различных средах.