Biblioteca .NET de código abierto para leer hojas de cálculo de Excel
ExcelDataReader le permite leer formatos de archivo de Microsoft Excel usando C#.
ExcelDataReader es una API ligera de código abierto escrita en C# para leer archivos de Microsoft Excel. Con la API, puede leer Microsoft XLS, XLSX y CSV fácilmente. La API admite versiones anteriores de archivos XLS hasta Excel 2.0, admite fechas de texto, valores de fórmula en caché y rutas de hojas vacías en XLSX.
Además, la API admite la codificación de respaldo en XLS y un manejo de nombres de columna más flexible en conjuntos de datos. Es fácil de configurar y está disponible en NuGet.
Primeros pasos con ExcelDataReader
La forma recomendada de instalar ExcelDataReader es desde NuGet. Utilice el siguiente comando para una instalación más rápida.
Instalar ExcelDataReader desde NuGet
Install-Package ExcelDataReader -Version 3.6.0
Leer archivos de Excel a través de la API de .NET
ExcelDataReader permite a los desarrolladores de C# .NET leer archivos de Microsoft Excel de manera fácil y eficiente. El método de extensión AsDataSet() es una ayuda conveniente para obtener rápidamente los datos. IExcelDataReader amplía las interfaces System.Data.IDataReader e IDataRecord para navegar y recuperar datos en un nivel inferior.
Read Header y Footer de Excel Archivos a través de 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);
}
}
}
Lea libros de cocina protegidos vía .NET API
La API .NET de código abierto ExcelDataReader también le permite leer documentos de Microsoft Excel protegidos con contraseña. Puede leer archivos protegidos con contraseña usando la configuración de contraseña en la configuración de ExcelReaderConfiguration y abrirlos usando el método CreateOpenXmlReader().
Cómo aplicar el formato a hojas de cálculo a través de C API
// Use the following code to Access your protected Spreadsheet file
var conf = new ExcelReaderConfiguration { Password = "yourPassword" };
excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelStream, conf);
Aplicar formato a Excel Spreadsheet Cells usando C
La biblioteca de ExcelDataReader permite a los programadores de software aplicar formateo a sus células Excel con sólo un par de líneas de código C. Tenga en cuenta que ExcelDataReader no soporta las características de formato directamente. Debe recuperar el número de la celda que contiene la cadena de formato y utilizar la biblioteca de ExcelNumberFormat de terceros para fines de formateo. Los siguientes ejemplos le ayudarán a comprender cómo lograrlo.
Cómo aplicar el formato a hojas de cálculo a través de 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);
}