RapidExcel 0.0.6
dotnet add package RapidExcel --version 0.0.6
NuGet\Install-Package RapidExcel -Version 0.0.6
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="RapidExcel" Version="0.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RapidExcel" Version="0.0.6" />
<PackageReference Include="RapidExcel" />
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 RapidExcel --version 0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RapidExcel, 0.0.6"
#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 RapidExcel@0.0.6
#: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=RapidExcel&version=0.0.6
#tool nuget:?package=RapidExcel&version=0.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RapidExcel
A very lightweight Excel import/export library for .NET 8, designed for processing large datasets efficiently using OpenXml and modern C# features.
📦 Installation
# Install via NuGet Package Manager
dotnet add package RapidExcel
# Or via Package Manager Console (Visual Studio)
Install-Package RapidExcel
Quick Start
Define Your Model
//for import
public class BankTransaction
{
[ExcelColumn("Date of Transaction")]
public DateTime Date { get; set; }
[ExcelColumn("TRANSTYPE", typeConverter: typeof(TransactionTypeConverter))]
public TransactionType TransactionType { get; set; }
[ExcelColumn("DESCR")]
public string Description { get; set; } = string.Empty;
[ExcelColumn("AMOUNT")]
public decimal Amount { get; set; }
[ExcelColumn("CUR")]
public string Currency { get; set; } = string.Empty;
}
//for export
public record TransactionDetail
{
[ExcelColumn("Date of Transaction", position: 1)]
public DateTime Date { get; set; }
[ExcelColumn("Description", position: 3)]
public string? Payee { get; set; }
[ExcelColumn("KH", position: 2, typeConverter: typeof(CardNumberConverter))]
public string? CardNumber { get; set; }
public string? AccountNumber { get; set; }
[ExcelColumn("Amount", typeConverter: typeof(AmountConverter), position: 4)]
public decimal Amount { get; set; }
[ExcelColumn("Deviza", position: 5)]
public string Currency { get; set; } = null!;
public string? TransactionId { get; set; }
public string? PayerId { get; set; }
public string? City { get; set; }
[ExcelColumn("IsExpense", position: 6)]
public bool IsExpense { get; set; }
[ExcelColumn("IsIncome", position: 7)]
public bool IsIncome { get; set; }
}
Import Data
var importer = new ExcelImporter();
foreach (var transaction in importer.Import<BankTransaction>("data.xlsx", headerRowIndex: 10))
{
// Process each transaction
Console.WriteLine($"{transaction.Date}: {transaction.Amount} {transaction.Currency}");
}
Export Data
var transactions = GetTransactions(); // Your data source
var exporter = new ExcelExporter();
exporter.Export(transactions, "output.xlsx");
// Or export multiple sheets
var sheetData = transactions
.GroupBy(t => t.Date.ToString("yyyy MMMM"))
.Select(g => (g.Key, g.ToList()))
.ToList();
exporter.ExportSheetsWithWriter(sheetData, "monthly_report.xlsx");
Custom Type Converters
Create custom converters for complex data transformations:
public class TransactionTypeConverter : TypeConverter<TransactionType, string>
{
public override TransactionType Convert(string value)
{
return value switch
{
"BCARD" => TransactionType.Card,
"TRANSFER" => TransactionType.Transfer,
"FEE" => TransactionType.BankFeeOrInterest,
_ => TransactionType.Unknown
};
}
public override CellValue? ConvertToCellValue(TransactionType value)
{
return new CellValue(value.ToString());
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- DocumentFormat.OpenXml (>= 3.3.0)
-
net8.0
- DocumentFormat.OpenXml (>= 3.3.0)
-
net9.0
- DocumentFormat.OpenXml (>= 3.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release with core import/export functionality and performance optimizations.