Библиотека .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.

Previous Next

Начало работы с 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);
}
 Русский