VelocityExcel 1.0.3

dotnet add package VelocityExcel --version 1.0.3
                    
NuGet\Install-Package VelocityExcel -Version 1.0.3
                    
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="VelocityExcel" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VelocityExcel" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="VelocityExcel" />
                    
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 VelocityExcel --version 1.0.3
                    
#r "nuget: VelocityExcel, 1.0.3"
                    
#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 VelocityExcel@1.0.3
                    
#: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=VelocityExcel&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=VelocityExcel&version=1.0.3
                    
Install as a Cake Tool

VelocityExcel

NuGet Downloads

🚀 Ultra-High-Speed. Ultra-Low Memory. Zero Compromise.

The only Excel library that delivers ultra-high-speed read and write operations with the lowest memory consumption.

🔓 Full XLSX Compatibility

Fully compatible with the OpenXML XLSX specification. Reads files generated by Microsoft Excel and other vendor libraries.

VelocityExcel is a high-performance, ultra-fast streaming Excel (XLSX) reader and writer for .NET with minimal memory footprint. Built for processing massive files efficiently without loading them entirely into memory.


📦 Installation

dotnet add package VelocityExcel

✍️ ExcelWriter

✔ Features

  • ✔ Blazing Fast or Very Very Fast
  • ✔ Minimal GC Pressure
  • ✔ Predictable Memory
  • ✔ Excellent Compression
  • ✔ Culture-Aware Formatting
  • ✔ Thread-Safe Design
  • ✔ Zero External Dependencies
  • ✔ Massive Scale

Why Use VelocityExcel for Writing?

  • Production-Proven Performance
  • Streaming Architecture
  • Configurable Output
  • Simple Fluent API
  • Enterprise-Ready

Usage Examples

Basic Excel File Creation

using VelocityExcel.Api;

using (var writer = new ExcelWriter("output.xlsx"))
{
    using (var sheet = writer.CreateWorksheet("Employees"))
    {
        sheet.WriteRow("ID", "Name", "Department", "Salary", "Hire Date", "Is Active");

        sheet.WriteRow(1, "John Doe", "Engineering", 75000.50, new DateTime(2020, 3, 15), true);
        sheet.WriteRow(2, "Jane Smith", "Marketing", 82000.00, new DateTime(2019, 7, 22), true);
        sheet.WriteRow(3, "Bob Johnson", "Sales", 65000.00, new DateTime(2021, 1, 10), false);
        sheet.WriteRow(4, "Alice Brown", "Engineering", 91000.00, new DateTime(2018, 11, 5), true);
    }

    using (var sheet = writer.CreateWorksheet("Departments"))
    {
        sheet.WriteRow("Department", "Manager", "Budget");
        sheet.WriteRow("Engineering", "Alice Brown", 500000);
        sheet.WriteRow("Marketing", "Jane Smith", 350000);
        sheet.WriteRow("Sales", "Bob Johnson", 400000);
    }

    writer.Close();
}

Configured Output with ExcelOptions

using VelocityExcel.Api;

var options = new ExcelOptions
{
    CompressionPreset = "Fastest",
    PrettyPrintXml = false,
    UseSharedStrings = false,
};

using (var writer = new ExcelWriter("configured_output.xlsx", options))
{
    using (var sheet = writer.CreateWorksheet("Products"))
    {
        sheet.WriteRow("Product ID", "Name", "Price", "In Stock", "Last Updated");

        for (int i = 1; i <= 1000; i++)
        {
            sheet.WriteRow(
                i,
                $"Product {i}",
                19.99 + (i * 0.01),
                i % 3 == 0,
                DateTime.Now.AddDays(-i)
            );
        }
    }
}

✅ Ideal for:

  • Large data exports
  • Background services
  • Web API downloads
  • ETL pipelines
  • Real-time structured logging

📖 ExcelReader

✔ Features

  • ✔ Blazing Fast or Very Very Fast
  • ✔ Compatible with Microsoft Excel and third-party/vendor XLSX files
  • ✔ Forward-Only Streaming
  • ✔ Precise Type Detection
  • ✔ Format-Aware Parsing
  • ✔ Safe XML Processing
  • ✔ Shared String Deduplication
  • ✔ Worksheet Navigation
  • ✔ Zero External Dependencies

Why Use VelocityExcel for Reading?

  • Robust Format Handling
  • Culture-Aware Parsing
  • Memory-Efficient Streaming

Usage Examples

Simple Excel Reader Example

using VelocityExcel.Api;

using (var reader = new ExcelReader("sample.xlsx"))
{
    Console.WriteLine("Worksheets found:");
    foreach (var name in reader.WorksheetNames)
        Console.WriteLine($"  - {name}");

    using (var worksheet = reader.OpenWorksheet(0))
    {
        int rowCount = 0;

        foreach (var row in worksheet.ReadRows())
        {
            rowCount++;

            Console.Write($"Row {rowCount}: ");

            for (int i = 0; i < Math.Min(3, row.Length); i++)
                Console.Write($"[{row[i]?.ToString() ?? "NULL"}] ");

            if (row.Length > 3)
                Console.Write("...");

            Console.WriteLine();
        }

        Console.WriteLine($"\nTotal rows read: {rowCount}");
    }
}

Read by Worksheet Name

using VelocityExcel.Api;

using (var reader = new ExcelReader("data.xlsx"))
{
    if (reader.TryOpenWorksheet("Sheet1", out var worksheet))
    {
        using (worksheet)
        {
            foreach (var row in worksheet.ReadRows())
            {
                if (row.Length > 0)
                {
                    var id = row[0];
                    var name = row[1];
                    var value = row[2];

                    Console.WriteLine($"ID: {id}, Name: {name}, Value: {value}");
                }
            }
        }
    }
}

📄 License

VelocityExcel is proprietary software.

You are granted a royalty-free, non-exclusive license to use the software in commercial and non-commercial applications, including distribution as part of compiled applications.

Redistribution as a standalone library, NuGet package, or source distribution is not permitted.

Refer to the LICENSE file for full terms.


🙏 Show Your Support

If you find VelocityExcel useful:

  • 📢 Share it
  • 🛠️ Submit feedback
  • 🐛 Report issues

Built with performance, safety, and simplicity in mind. 🎯

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 was computed.  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 was computed.  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.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.