Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions ExcelGenerator.csproj
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<LangVersion>14</LangVersion>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

<!-- NuGet Package Properties -->
<PackageId>Faysil.ExcelGenerator</PackageId>
<Version>1.0.0</Version>
<Version>2.0.0</Version>
<Authors>Faysil Alshareef</Authors>
<Description>A lightweight .NET 9 library to generate Excel files from IEnumerable collections using ClosedXML. Features include customizable headers, automatic summation rows for decimal columns, and option to exclude Id columns.</Description>
<PackageTags>Excel;ClosedXML;Export;Generator;dotnet9;net9</PackageTags>
<Description>A lightweight .NET 10 library to generate Excel files from IEnumerable collections using ClosedXML. Features include customizable headers, automatic summation rows for decimal columns, and option to exclude Id columns. Now with C# 14 support.</Description>
<PackageTags>Excel;ClosedXML;Export;Generator;dotnet10;net10;csharp14</PackageTags>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/FaysilAlshareef/ExcelGenerator</RepositoryUrl>
<PackageReleaseNotes>v1.0.0 - Initial release: Generate Excel files from IEnumerable collections with customizable headers, automatic decimal summation rows, and Id column exclusion option.</PackageReleaseNotes>
<PackageReleaseNotes>v2.0.0 - Major update: Upgraded to .NET 10 and C# 14. Maintains all features from v1.0.0: Generate Excel files from IEnumerable collections with customizable headers, automatic decimal summation rows, and Id column exclusion option.</PackageReleaseNotes>
<Copyright>Copyright © 2025 Faysil Alshareef. All rights reserved.</Copyright>
<PackageProjectUrl>https://github.com/FaysilAlshareef/ExcelGenerator</PackageProjectUrl>
</PropertyGroup>
Expand Down
75 changes: 71 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,43 @@

A lightweight .NET library to generate Excel files from `IEnumerable<T>` collections using ClosedXML.

## Version History

### V2 (Current)
- **Framework**: .NET 10.0
- **C# Version**: 14
- **Package Version**: 2.0.0
- **Features**: All V1 features with modern .NET 10 runtime performance improvements
- **Breaking Changes**: None - fully backward compatible API

### V1
- **Framework**: .NET 9.0
- **Package Version**: 1.0.0
- **Status**: Legacy (still available on NuGet)

## Supported Frameworks

- **.NET 9.0**
- **.NET 10.0** (with C# 14 support) - **Current V2**
- **.NET 9.0** - Legacy V1

## Installation

### For .NET 10 Projects (V2 - Recommended)

```bash
dotnet add package ExcelGenerator
dotnet add package Faysil.ExcelGenerator --version 2.0.0
```

Or via NuGet Package Manager:

```powershell
Install-Package ExcelGenerator
Install-Package Faysil.ExcelGenerator -Version 2.0.0
```

### For .NET 9 Projects (V1 - Legacy)

```bash
dotnet add package Faysil.ExcelGenerator --version 1.0.0
```

## Features
Expand Down Expand Up @@ -110,7 +133,51 @@ workbook.SaveAs("output.xlsx");

## Dependencies

- [ClosedXML](https://github.com/ClosedXML/ClosedXML) (v0.105.0+)
- [ClosedXML](https://github.com/ClosedXML/ClosedXML) v0.105.0 (latest stable version)
- Compatible with .NET Standard 2.0+
- Works seamlessly with .NET 10

## What's New in V2?

### Performance Improvements
- **Native .NET 10 Runtime**: Benefits from improved JIT compilation, faster stack allocations, and enhanced code generation
- **AVX10.2 & ARM64 SVE Support**: Automatic use of advanced CPU instructions for better performance
- **Smaller Footprint**: Leverages .NET 10's optimized runtime

### Developer Experience
- **C# 14 Features**: Access to the latest language features:
- Extension members & blocks
- Implicit span conversions for better memory efficiency
- Null-conditional assignment operators
- Enhanced partial types support

### Compatibility
- **Long-Term Support**: .NET 10 is an LTS release supported until November 2028
- **Backward Compatible**: Same API as V1 - no code changes needed for migration
- **Modern Tooling**: Full support in Visual Studio 2026 and latest .NET CLI

## Migration from V1 to V2

Upgrading from V1 to V2 is straightforward:

1. **Update your project** to target .NET 10:
```xml
<TargetFramework>net10.0</TargetFramework>
```

2. **Update the package reference**:
```bash
dotnet add package Faysil.ExcelGenerator --version 2.0.0
```

3. **No code changes required** - V2 maintains 100% API compatibility with V1

### Why Upgrade to V2?

- ✅ **Better Performance**: Native .NET 10 runtime optimizations
- ✅ **Long-Term Support**: LTS release with support until 2028
- ✅ **Modern Features**: Access to C# 14 language improvements
- ✅ **Future-Proof**: Stay current with the latest .NET ecosystem

## License

Expand Down