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).