EPPlus.Core.Extensions
2.4.0
.NET Standard 2.0
.NET Framework 4.6.1
Install-Package EPPlus.Core.Extensions -Version 2.4.0
dotnet add package EPPlus.Core.Extensions --version 2.4.0
<PackageReference Include="EPPlus.Core.Extensions" Version="2.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EPPlus.Core.Extensions --version 2.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EPPlus.Core.Extensions, 2.4.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install EPPlus.Core.Extensions as a Cake Addin
#addin nuget:?package=EPPlus.Core.Extensions&version=2.4.0
// Install EPPlus.Core.Extensions as a Cake Tool
#tool nuget:?package=EPPlus.Core.Extensions&version=2.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
- Converts IEnumerable<T> into an Excel worksheet/package
- Reads data from Excel packages and convert them into a List<T>.
Basic examples:
public class PersonDto
{
[ExcelTableColumn("First name")]
[Required(ErrorMessage = "First name cannot be empty.")]
[MaxLength(50, ErrorMessage = "First name cannot be more than {1} characters.")]
public string FirstName { get; set; }
[ExcelTableColumn(columnName = "Last name", isOptional = true)]
public string LastName { get; set; }
[ExcelTableColumn(3)]
[Range(1900, 2050, ErrorMessage = "Please enter a value bigger than {1}")]
public int YearBorn { get; set; }
public decimal NotMapped { get; set; }
[ExcelTableColumn(isOptional = true)]
public decimal OptionalColumn1 { get; set; }
[ExcelTableColumn(columnIndex=999, isOptional = true)]
public decimal OptionalColumn2 { get; set; }
}
- Converting from Excel to list of objects
// Direct usage:
excelPackage.ToList<PersonDto>(configuration => configuration.SkipCastingErrors());
// Specific worksheet:
excelPackage.GetWorksheet("Persons").ToList<PersonDto>();
- From a list of objects to Excel package
List<PersonDto> persons = new List<PersonDto>();
// Convert list into ExcelPackage
ExcelPackage excelPackage = persons.ToExcelPackage();
// Convert list into byte array
byte[] excelPackageXlsx = persons.ToXlsx();
// Generate ExcelPackage with configuration
List<PersonDto> pre50 = persons.Where(x => x.YearBorn < 1950).ToList();
List<PersonDto> post50 = persons.Where(x => x.YearBorn >= 1950).ToList();
ExcelPackage excelPackage = pre50.ToWorksheet("< 1950")
.WithConfiguration(configuration => configuration.WithColumnConfiguration(x => x.AutoFit()))
.WithColumn(x => x.FirstName, "First Name")
.WithColumn(x => x.LastName, "Last Name")
.WithColumn(x => x.YearBorn, "Year of Birth")
.WithTitle("< 1950")
.NextWorksheet(post50, "> 1950")
.WithColumn(x => x.LastName, "Last Name")
.WithColumn(x => x.YearBorn, "Year of Birth")
.WithTitle("> 1950")
.ToExcelPackage();
- Generating an Excel template from ExcelWorksheetAttribute marked classes
[ExcelWorksheet("Stocks")]
public class StocksDto
{
[ExcelTableColumn("SKU")]
public string Barcode { get; set; }
[ExcelTableColumn]
public int Quantity { get; set; }
}
// To ExcelPackage
ExcelPackage excelPackage = Assembly.GetExecutingAssembly().GenerateExcelPackage(nameof(StocksDto));
// To ExcelWorksheet
using(var excelPackage = new ExcelPackage()){
ExcelWorksheet worksheet = excelPackage.GenerateWorksheet(Assembly.GetExecutingAssembly(), nameof(StocksDto));
}
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.6.1
- EPPlus (>= 4.5.3.2)
- System.ComponentModel.Annotations (>= 4.7.0)
-
.NETStandard 2.0
- EPPlus (>= 4.5.3.2)
- System.ComponentModel.Annotations (>= 4.7.0)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on EPPlus.Core.Extensions:
Package | Downloads |
---|---|
Tradeber.AbpCore.ServiceFabric
tradeber 基础设施库 |
|
IvyBaby.Infrastructure
暂无 |
|
Alizhou.Office
根据模板导入导出word,execl |
|
FileReaders
Package Description |
|
AspNetCore2.Utils
Common Utils for AspNetCore And .Net Core 2.x |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on EPPlus.Core.Extensions:
Repository | Stars |
---|---|
WeihanLi/WeihanLi.Npoi
NPOI Extensions, excel/csv importer/exporter for IEnumerable<T>/DataTable, fluentapi(great flexibility)/attribute configuration
|
Version | Downloads | Last updated |
---|---|---|
2.4.0 | 252,174 | 1/5/2020 |
2.3.2 | 68,560 | 4/8/2019 |
2.3.1 | 15,398 | 3/19/2019 |
2.3.0 | 3,427 | 3/7/2019 |
2.2.4 | 35,663 | 8/9/2018 |
2.2.3 | 3,170 | 6/27/2018 |
2.2.2 | 869 | 6/26/2018 |
2.2.1 | 3,626 | 6/5/2018 |
2.2.0 | 906 | 6/2/2018 |
2.1.0 | 5,229 | 5/26/2018 |
2.0.0 | 2,223 | 5/16/2018 |
2.0.0-preview1 | 751 | 5/15/2018 |
1.2.8 | 1,886 | 4/13/2018 |
1.2.7 | 5,166 | 2/26/2018 |
1.2.6 | 2,663 | 2/11/2018 |
1.2.5 | 1,243 | 2/9/2018 |
1.2.4 | 3,389 | 11/27/2017 |
1.2.3 | 1,403 | 11/8/2017 |
1.2.2 | 931 | 11/7/2017 |
1.2.1 | 787 | 11/6/2017 |
1.2.0 | 1,532 | 10/14/2017 |
1.1.9 | 1,064 | 10/3/2017 |
1.1.8 | 867 | 9/27/2017 |
1.1.7 | 720 | 9/27/2017 |
1.1.6 | 693 | 9/27/2017 |
1.1.5 | 885 | 9/21/2017 |
1.1.4 | 712 | 9/18/2017 |
1.1.3 | 729 | 9/16/2017 |
1.1.2 | 1,054 | 8/25/2017 |
1.1.1 | 712 | 8/25/2017 |
1.1.0 | 755 | 8/24/2017 |
1.0.2 | 742 | 8/24/2017 |
1.0.1 | 726 | 8/22/2017 |
1.0.0 | 789 | 8/21/2017 |
1.0.0-preview2 | 1,293 | 8/20/2017 |
1.0.0-preview1 | 1,316 | 8/19/2017 |