ExcelEnumerable 1.2.0
See the version list below for details.
dotnet add package ExcelEnumerable --version 1.2.0
NuGet\Install-Package ExcelEnumerable -Version 1.2.0
<PackageReference Include="ExcelEnumerable" Version="1.2.0" />
paket add ExcelEnumerable --version 1.2.0
#r "nuget: ExcelEnumerable, 1.2.0"
// Install ExcelEnumerable as a Cake Addin #addin nuget:?package=ExcelEnumerable&version=1.2.0 // Install ExcelEnumerable as a Cake Tool #tool nuget:?package=ExcelEnumerable&version=1.2.0
ExcelEnumerable
ExcelDataReader wrapper for supporting LINQ while reading excel files.
Motivation
The project has been created in order to enable easy way to use C# LINQ while reading from excel files.
Usage
Install a NuGet package ExcelEnumerable
, then create a class that represents row with column names which you want to fetch from excel file. You can use XcelEnumerableColumnAttribute
to specify name of the column when the property name cannot match it:
public class SampleRow
{
public string Email { get; set; }
[XcelEnumerableColumn("First Name")]
public string FirstName { get; set; }
}
Create a new instance of XcelEnumerable
and specify the previously created type, which represents the row in an excel file, as a generic argument, passing stream or a file name to constructor. After that, apply LINQ expressions:
using(var excelEnumerable = new XcelEnumerable<SampleRow>(stream)) // or new XcelEnumerable<SampleRow>("fileName"))
{
var filteredRows = excelEnumerable.Where(r => r.Email.Contains("domain.com")).ToList();
}
By default, the first sheet will be selected. In order to read data from another sheet, provide a sheet name in constructor (the name is case sensitive):
using(var excelEnumerable = new XcelEnumerable<SampleRow>(stream, "Sheet Name"))
{
...
}
Important when targeting .NET Core Application
When targeting .NET Core, it's important to add dependency on System.Text.Encoding.CodePages
and register the code page provider during application initialization:
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- ExcelDataReader (>= 3.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Supporting sheet selection.