Библиотека .NET с открытым исходным кодом для чтения электронных таблиц Excel
ExcelDataReader позволяет читать форматы файлов Microsoft Excel с помощью C#.
ExcelDataReader — это облегченный API с открытым исходным кодом, написанный на C# для чтения файлов Microsoft Excel. Используя API, вы можете легко читать Microsoft XLS, XLSX и CSV. API поддерживает старые версии файлов XLS вплоть до Excel 2.0, поддерживает текстовые даты, кэшированные значения формул и пути к пустым листам в XLSX.
Кроме того, API поддерживает резервное кодирование в XLS и более гибкую обработку имен столбцов в наборах данных. Его легко настроить, и он доступен в NuGet.
Начало работы с ExcelDataReader
Рекомендуемый способ установки ExcelDataReader - от NuGet, пожалуйста, используйте следующую команду для более быстрой установки.
Установите ExcelDataReader из NuGet
Install-Package ExcelDataReader -Version 3.6.0
Чтение файлов Excel через .NET API
ExcelDataReader позволяет разработчикам C# .NET легко и эффективно читать файлы Microsoft Excel. Метод расширения AsDataSet() — удобный помощник для быстрого получения данных. IExcelDataReader расширяет интерфейсы System.Data.IDataReader и IDataRecord для навигации и извлечения данных на более низком уровне.
Reading Header and Footer of Excel Files через C# .NET
sing System;
using System.Text;
namespace ExcelDataReader.Core.BinaryFormat
{
///
/// Represents a string value of a header or footer.
///
internal sealed class XlsBiffHeaderFooterString : XlsBiffRecord
{
private readonly IXlsString _xlsString;
internal XlsBiffHeaderFooterString(byte[] bytes, uint offset, int biffVersion)
: base(bytes, offset)
{
if (biffVersion < 8)
_xlsString = new XlsShortByteString(bytes, offset + 4);
else if (biffVersion == 8)
_xlsString = new XlsUnicodeString(bytes, offset + 4);
else
throw new ArgumentException("Unexpected BIFF version " + biffVersion, nameof(biffVersion));
}
///
/// Gets the string value.
///
public string GetValue(Encoding encoding)
{
return _xlsString.GetValue(encoding);
}
}
}
.NET API
.NET API ExcelDataReader с открытым исходным кодом также позволяет читать защищенные паролем документы Microsoft Excel. Вы можете читать защищенные паролем файлы, используя настройку пароля в конфигурации ExcelReaderConfiguration и открывая их с помощью метода CreateOpenXmlReader().
Как применять форматирование к графическим элементам через C# API
// Use the following code to Access your protected Spreadsheet file
var conf = new ExcelReaderConfiguration { Password = "yourPassword" };
excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelStream, conf);
Применить форматирование в графические ячейки Excel, используя C#
Библиотека ExcelDataReader с открытым исходным кодом позволяет программистам применять форматирование к своим Excel-клеткам всего несколькими строками кода C#. Обратите внимание, что ExcelDataReader не поддерживает функции форматирования напрямую. Вы должны получить номер ячейки, содержащей строку формата, и использовать сторонние библиотеки ExcelNumberFormat для форматирования. Следующие примеры помогут вам понять, как его достичь.
Как применять форматирование к графическим элементам через C# API
string GetFormattedValue(IExcelDataReader reader, int columnIndex, CultureInfo culture)
{
var value = reader.GetValue(columnIndex);
var formatString = reader.GetNumberFormatString(columnIndex);
if (formatString != null)
{
var format = new NumberFormat(formatString);
return format.Format(value, culture);
}
return Convert.ToString(value, culture);
}