CompuMaster.Data.EpplusFreeFixCalcsEdition 2026.10.9

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

CompuMaster.Data.EpplusFreeFixCalcsEdition

A library to write and read System.Data.DataTable or System.Data.DataSet

Based on EPPlus 4.5.3.3 with LGPL license for solutions targeting .NET Framework 4.8, .NET Standard 2.0, .NET 6, or .NET 8 and higher.

Security and untrusted workbooks

CompuMaster.EPPlus4 is based on the older EPPlus 4 codebase. Generating new workbooks from trusted data is a different risk from parsing workbooks supplied by unknown parties. A specially crafted XLSX file can attempt to exhaust memory or CPU through ZIP expansion, very large XML parts, or expensive password hashing. The CompuMaster fork has load limits to reduce these risks, but the limits are defense in depth, not a guarantee that every hostile file is safe. For externally supplied workbooks, prefer a currently supported reader or process files in an isolated, resource-constrained service. Do not disable limits for untrusted input.

The default limits for each loaded workbook are:

Limit Default
Compressed or encrypted input size 128 MiB
ZIP entries, including empty entries 20,000
Uncompressed size of one entry 512 MiB
Total uncompressed size of all entries 1 GiB
Size of one XML, relationships, or VML part 512 MiB
Uncompressed-to-compressed ratio of one entry 200:1
Password-hash iterations in encryption metadata 1,000,000
Encryption metadata size 1 MiB

A valid XLSX larger than 50 MiB is covered by a regression test and loads with these defaults. Size limits are checked before and during ZIP extraction; an oversized or inconsistent package raises InvalidDataException. Loading can still require substantial memory, especially for many workbook objects.

For an unusually large trusted workbook, configure only the limits that the specific input requires. This example doubles the permitted input size and ZIP-entry count while leaving the other safety boundaries at their defaults:

using CompuMaster.Data;
using CompuMaster.Epplus4;

var limits = new ExcelPackageLoadLimits(
    maxInputBytes: 256L * 1024 * 1024,
    maxZipEntries: 40_000);

var options = new XlsEpplusFixCalcsEdition.ReadOptions(
    firstRowContainsColumnNames: true,
    startReadingAtRowIndex: 0,
    packageLoadLimits: limits);
var table = XlsEpplusFixCalcsEdition.ReadDataTableFromXlsFileWithOptions(
    "trusted-large-workbook.xlsx", options);

For direct CompuMaster.EPPlus4 use, call ExcelPackage.OpenWithLoadLimits(new FileInfo(path), limits) or the stream overload. ExcelPackage.CreateFromTemplateWithLoadLimits(...) also applies limits to template input. Raising these limits for files from unknown senders weakens the DoS protection; instead, inspect the source, cap upload size, isolate processing, and set application-level time and memory budgets.

Quick & dirty engine comparison / why you shouldn't use MS Excel for all situations

For a full engine overview and comparison chart, please see https://github.com/CompuMasterGmbH/CompuMaster.Excel/blob/main/README.md

Licensing

  • Please see license file in project directory
  • Pay attention to required licensing of the 3rd party components (commercial vs. community licensing, user licensing, etc.)

Examples

Quick-Start: Write a table into a workbook and re-read table from single sheet and re-read dataset with all tables from all sheets

public static void WriteAndReadTableEpplusLgpl()
{
    string filePath = "SampleTable.xlsx";

    var t1 = SampleTableDyn01();
    CompuMaster.Data.XlsEpplusFixCalcsEdition.WriteDataTableToXlsFileAndFirstSheet(filePath, t1);

    System.Data.DataTable t = CompuMaster.Data.XlsEpplusFixCalcsEdition.ReadDataTableFromXlsFile(filePath, true);
    CompuMaster.Data.XlsEpplusFixCalcsEdition.WriteDataTableToXlsFileAndFirstSheet(filePath, t);

    System.Data.DataSet ds = CompuMaster.Data.XlsEpplusFixCalcsEdition.ReadDataSetFromXlsFile(filePath, true);
    CompuMaster.Data.XlsEpplusFixCalcsEdition.WriteDataTableToXlsFileAndFirstSheet(filePath, ds.Tables[0]);
}

private static System.Data.DataTable SampleTableDyn01()
{
    System.Data.DataTable t1 = new System.Data.DataTable("test");
    t1.Columns.Add();
    t1.Columns.Add();
    t1.Columns.Add();
    var r = t1.NewRow();
    r.ItemArray = new object[] { "1", "R1", "V1" };
    t1.Rows.Add(r);
    r = t1.NewRow();
    r.ItemArray = new object[] { "2", "R2", "V2" };
    t1.Rows.Add(r);
    r = t1.NewRow();
    r.ItemArray = new object[] { "3", "R3", "V3" };
    t1.Rows.Add(r);
    return t1;
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  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 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 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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CompuMaster.Data.EpplusFreeFixCalcsEdition:

Package Downloads
CompuMaster.Excel.EpplusFreeFixCalcsEdition

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.10.9 137 10/9/2026
2026.10.8.1 126 10/8/2026
2026.10.8 126 10/8/2026
2026.10.7.1 126 10/7/2026
2026.10.7 127 10/7/2026
2026.9.29 135 9/29/2026
2026.9.28 141 9/28/2026
2026.8.31 164 8/31/2026
2026.7.30.1 253 7/30/2026
2026.7.30 168 7/30/2026
2026.4.30 309 4/30/2026
2026.2.5.1 210 2/5/2026
2026.2.5 192 2/5/2026
2026.2.4.2 189 2/4/2026
2026.2.4.1 185 2/4/2026
2026.2.4 191 2/4/2026
2025.12.30 205 12/29/2025
2025.12.26 230 12/26/2025
2025.12.24 281 12/24/2025
2025.12.22.1 291 12/22/2025
Loading failed