Excel Interop / Automation in C# and VB.NET

Excel Automation is an option when creating/reading Excel files (XLS, XLSX, CSV) from C# or VB.NET application, but it has many drawbacks.

Issues when using Excel automation (or Excel Interop) from C# or VB.NET are:

  • Requires a license for Microsoft Office on every client machine.
  • Requires that all client machines have the same version of Microsoft Excel installed.
  • When using automation, Microsoft Excel is loaded in the background, taking few MB and loading a large number of files and DLLs.
  • Microsoft Office applications (including Excel) were designed as UI applications and because of that API is very slow. Generating a single worksheet with 200 rows and 100 columns takes 239.4 seconds on our test machine.
  • Microsoft doesn’t recommend using Excel automation (or any Office Interop) on the server: https://support.microsoft.com/en-us/kb/257757

We are proud that our Excel .NET component is one of the best alternatives for Excel automation (Excel Interop).

GemBox.Spreadsheet Free comes free of charge while GemBox.Spreadsheet Professional is a commercial version (licensed per developer). Find more information about supported features.