3 библиотеки Excel, которые должен знать каждый разработчик .NET

3 библиотеки Excel, которые должен знать каждый разработчик .NET

6 июня 2022 г.

Программно редактирование файла Excel может быть затруднено по двум основным причинам. Пользователи должны поддерживать согласованный интерфейс и структуру документа, что не всегда легко сделать при работе с электронными таблицами.

Другая причина заключается в том, что не всегда ясно, какой код будет работать в определенных обстоятельствах, особенно если речь идет о сложных вычислениях. Существует много разных причин, по которым программное редактирование файла Excel является сложным. Программисты должны преобразовывать данные в файле Excel в пригодный для использования формат; затем они должны анализировать данные и анализировать их обратно, что не так просто.

Здесь я пришел с решением для этой проблемы. Я покажу вам, как мы можем программно читать и редактировать файлы Excel без каких-либо хлопот, используя различные библиотеки Excel. Приступим:

IronXL: библиотека .NET Excel

IronXL — это универсальная и мощная библиотека для открытия, редактирования, сохранения файлов Excel, чтения и других важных функций Excel. Он поддерживает все шаблоны проектов .NET, такие как ASP.NET, приложения Windows и приложения .NET Core. IronXL очень легко использовать в приложениях .NET для разработчиков.

IronXL не требует установки Microsoft Office на локальный компьютер, где мы должны использовать библиотеку IronXL. И IronXL также не использует Excel Interop для операций Excel. IronXL делает работу с файлами Excel в среде .NET очень простой, быстрой и простой.

IronXL позволяет легко выполнять все операции и расчеты Excel без подробной информации о программировании.

IronXL позволяет разработчикам выполнять множество специальных операций Excel, написав несколько строк кода, таких как функция суммирования, несколько строк, итоговые столбцы, чтение файлов Excel, запись файлов Excel, изменение таблиц Excel, добавление столбцов и строк, удаление столбцов и строк.

Давайте посмотрим на несколько примеров кода:

Пример кода

Чтение файла Excel

using IronXL;
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = sheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

Ячейка диапазона Excel

using IronXL;
using System. Linq;

WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();


var range = sheet["A2:A8"];
//This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}


// Another Example
var oneMoreRange = sheet["A9:A10"];

//This is how we can combine our ranges into a single selection
var resultRange = range + oneMoreRange;


foreach (var cell in resultRange)
{
    Console.WriteLine(cell.Value);
}

Чтобы узнать больше о примере IronXL, нажмите здесь. IronXL поддерживает все основные операционные системы, такие как Windows, Linux и macOS.

Тарифный план

У IronXL есть три тарифных плана. Базовая комплектация начинается от 499 долларов. Но это бесплатно для целей разработки. Он также предлагает 30-дневную бесплатную пробную версию. Вы можете увидеть больше деталей на данной картинке.

IronXL Pricing Plans

FastExcel: библиотека C# Excel

FastExcel – это библиотека C# Excel, помогающая пользователю выполнять функции быстрого чтения и записи таблицы эксель. Это библиотека с открытым исходным кодом. При работе в фоновом режиме требуется меньше памяти. Он не использует Open XML SDK для редактирования или взаимодействия с данными. Он сам редактирует файлы XML. Для FastExcel требуется только .NET Framework 4.5 или выше и .NET Core 2.0.

Он предоставляет базовые функции Excel, но не расширенные функции, такие как функции и т. д. Но мы можем добавлять новые листы, диапазоны ячеек, добавлять данные и многое другое с помощью библиотеки Fast Excel.

Давайте посмотрим на примеры кода:

Пример кода

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

using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(new FileInfo("Template.xlsx"), new FileInfo("Output.xlsx")))
{
 //Create a worksheet with some rows
 var worksheet = new Worksheet();
 var rows = new List();
 for (int rowNumber = 1; rowNumber < 100000; rowNumber++)
 {
  List cells = new List();
  for (int columnNumber = 1; columnNumber < 13; columnNumber++)
  {
   cells.Add(new Cell(columnNumber, columnNumber * DateTime.Now.Millisecond));
  }
  cells.Add(new Cell(13,"FileFormat" + rowNumber));
  cells.Add(new Cell(14,"FileFormat Developer Guide"));

  rows.Add(new Row(rowNumber, cells));
 }
 worksheet.Rows = rows;

 fastExcel.Write(worksheet,"sheet1");
}

Управление строками и ячейками

using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(new FileInfo("input.xlsx")))
{
 //Create a some rows in a worksheet
 var worksheet = new Worksheet();
 var rows = new List();

 for (int rowNumber = 1; rowNumber < 100000; rowNumber += 50)
 {
  List cells = new List();
  for (int columnNumber = 1; columnNumber < 13; columnNumber += 2)
  {
   cells.Add(new Cell(columnNumber, rowNumber));
  }
  cells.Add(new Cell(13,"File Format Developer Guide"));

  rows.Add(new Row(rowNumber, cells));
 }
 worksheet.Rows = rows;
 // Read the data
 fastExcel.Update(worksheet,"sheet1");
}

Тарифный план

Это библиотека с открытым исходным кодом. Поэтому для него нет тарифного плана. Вы можете использовать его для своих основных функций Excel.

EPPlus: библиотека .NET Excel

EPPlus — это библиотека C Excel, которая обеспечивает доступ к объектам и методам Excel, включая VBA и API. С EPPlus разработчики могут использовать возможности Excel для создания качественных, сложных приложений или быстрой электронной таблицы.

Библиотека предоставляет функции для управления ячейками, строками и столбцами; работа с рабочими листами, создание сводных таблиц, диаграмм и графиков; работа с полями сводной таблицы; работа с изображениями и экспорт данных в другие форматы. EPPlus не зависит ни от какой другой библиотеки, такой как Microsoft Excel. EPPlus — это не просто статическая библиотека. Она постоянно развивается в соответствии с изменениями в среде электронных таблиц Excel и потребностями пользователей.

Вы можете наблюдать за их журналом изменений, чтобы увидеть, как он развивается. EPPlus распространяется NuGet. Версия 5 EPPlus поддерживает .NET Framework, начиная с версии 3.5, и поддерживает .NET Core, начиная с версии 2.0.

Тарифный план

Тарифные планы EPPlus немного сбивают с толку. Они не предоставили полной информации о том, как работают тарифные планы и являются ли они постоянными или нам приходится покупать из года в год.

К сожалению, EPPlus не предоставил ни одного примера кода, чтобы продемонстрировать, как он будет использоваться. Кроме того, в нем не было ни учебника, ни бесплатной пробной версии.

Обзор

Все библиотеки замечательные и лучшие в своей области. Но у каждой библиотеки есть свои плюсы и минусы. У EPPlus нет никакого руководства, и разработчики не уверены, как эта библиотека будет работать. Тем не менее, у него есть репозиторий на Github. И его тарифный план не очень ясен.

Библиотека Fast Excel тоже хороша, но имеет ограниченные возможности. Но это библиотека с открытым исходным кодом, поэтому мы можем использовать ее в коммерческих проектах. Но на мой взгляд короткая библиотека excel не совместима с большими проектами. Было бы полезно, если бы вы использовали библиотеку IronXL или EPPlus для использования операций Excel в своем большом коммерческом проекте.

Библиотека IronXL — это зрелая библиотека со всеми расширенными функциями, которые мы должны использовать в расширенном приложении Excel. Отличным моментом является то, что он предлагает 30-дневную бесплатную пробную версию в рекламных роликах, поэтому становится легко проверить, совместим ли он.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE