VOOZH about

URL: https://www.nuget.org/packages/EPPlus.Core.Extensions/

⇱ NuGet Gallery | EPPlus.Core.Extensions 3.1.0




EPPlus.Core.Extensions 3.1.0

dotnet add package EPPlus.Core.Extensions --version 3.1.0
 
 
NuGet\Install-Package EPPlus.Core.Extensions -Version 3.1.0
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EPPlus.Core.Extensions" Version="3.1.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EPPlus.Core.Extensions" Version="3.1.0" />
 
Directory.Packages.props
<PackageReference Include="EPPlus.Core.Extensions" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EPPlus.Core.Extensions --version 3.1.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EPPlus.Core.Extensions, 3.1.0"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EPPlus.Core.Extensions@3.1.0
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EPPlus.Core.Extensions&version=3.1.0
 
Install as a Cake Addin
#tool nuget:?package=EPPlus.Core.Extensions&version=3.1.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

EPPlus.Core.Extensions 👁 CI

Installation 👁 NuGet version

PM> Install-Package EPPlus.Core.Extensions

Dependencies

.NET 10.0EPPlus >= 8.5.3

License Setup

EPPlus 8 requires a license declaration before use. For non-commercial/personal projects:

ExcelPackage.License.SetNonCommercialPersonal("YourName");

For commercial use, see EPPlus licensing.

Features

  • Converts IEnumerable<T> into an Excel worksheet or package
  • Reads data from Excel packages and converts them into a List<T>
  • Supports data annotations for validation ([Required], [MaxLength], [Range], etc.)
  • Fluent API for building multi-worksheet workbooks
  • Generates Excel templates from classes marked with [ExcelWorksheet]

Examples

Mapping a class to Excel columns

Use [ExcelTableColumn] to map properties to Excel columns by name or index:

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; }
}
Reading Excel data into a list
// From the first worksheet:
List<PersonDto> persons = excelPackage.ToList<PersonDto>(c => c.SkipCastingErrors());

// From a named worksheet:
List<PersonDto> persons = excelPackage.GetWorksheet("Persons").ToList<PersonDto>();
Writing a list to an Excel package
// Convert to ExcelPackage
ExcelPackage excelPackage = persons.ToExcelPackage();

// Convert to byte array
byte[] xlsx = persons.ToXlsx();

// Fluent multi-worksheet builder
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(c => c.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 a class

Mark a class with [ExcelWorksheet] to generate a structured template:

[ExcelWorksheet("Stocks")]
public class StocksDto
{
 [ExcelTableColumn("SKU")]
 public string Barcode { get; set; }

 [ExcelTableColumn]
 public int Quantity { get; set; }
}

// Generate as ExcelPackage
ExcelPackage excelPackage = Assembly.GetExecutingAssembly().GenerateExcelPackage(nameof(StocksDto));

// Generate as ExcelWorksheet inside an existing package
using var excelPackage = new ExcelPackage();
ExcelWorksheet worksheet = excelPackage.GenerateWorksheet(Assembly.GetExecutingAssembly(), nameof(StocksDto));
Product Versions Compatible and additional computed target framework versions.
.NET net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (11)

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

Farben.Office

Package Description

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