用于读取 Excel 电子表格的开源 .NET 库
ExcelDataReader 允许您使用 C# 读取 Microsoft Excel 文件格式。
ExcelDataReader 入门
安装 ExcelDataReader 的推荐方法是从 NuGet,请使用以下命令更快地安装。
从 NuGet 安装 ExcelDataReader
Install-Package ExcelDataReader -Version 3.6.0
通过 .NET API 读取 Excel 文件
ExcelDataReader 允许 C# .NET 开发人员轻松高效地读取 Microsoft Excel 文件。 AsDataSet() 扩展方法是快速获取数据的便捷助手。 IExcelDataReader 扩展了 System.Data.IDataReader 和 IDataRecord 接口以在较低级别导航和检索数据。
通过C#。ET阅读Excel文件的页眉
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);
}
}
}
通过。ET保护库克手册
开源 .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);
C#在Excel表面表格细胞中的应用
开放源代码ExcelDataReader库允许软件程序员只用几行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);
}