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.

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