CompuMaster.MsExcelComInterop
2026.11.12
dotnet add package CompuMaster.MsExcelComInterop --version 2026.11.12
NuGet\Install-Package CompuMaster.MsExcelComInterop -Version 2026.11.12
<PackageReference Include="CompuMaster.MsExcelComInterop" Version="2026.11.12" />
<PackageVersion Include="CompuMaster.MsExcelComInterop" Version="2026.11.12" />
<PackageReference Include="CompuMaster.MsExcelComInterop" />
paket add CompuMaster.MsExcelComInterop --version 2026.11.12
#r "nuget: CompuMaster.MsExcelComInterop, 2026.11.12"
#:package CompuMaster.MsExcelComInterop@2026.11.12
#addin nuget:?package=CompuMaster.MsExcelComInterop&version=2026.11.12
#tool nuget:?package=CompuMaster.MsExcelComInterop&version=2026.11.12
CompuMaster.Excel.MsExcelComInterop
Use Microsoft.Office.Interop.Excel v15 (MS Office 2013) or higher, for solutions targetting .NET Framework 4.8 or .NET 6 or higher
Allow COM interop at clients without using Microsoft.Office.Excel.Interop assemblies for light-weight deployments of applications to customers/clients, regardless of the installed version of Microsoft Office
Limitation: supports only a very tiny, but often-used feature set, e.g. print, export to PDF, run VBA code
Diagnostic logs
Use ExcelApplication.DiagnosticLogFiles to inspect the files associated with the wrapper's Excel process. The wrapper removes confirmed logs after a successful quit and trims trailing NUL padding after an abnormal exit. Set PreserveDiagnosticLogFiles to true to retain the files byte for byte.
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: Create a workbook and put some values and formulas, then output the result to console
CompuMaster.Excel.MsExcelComInterop.ExcelApplication? excelApp = null;
CompuMaster.Excel.MsExcelComInterop.ExcelWorkbook? wb = null;
try
{
// Open excel engine
try
{
excelApp = new CompuMaster.Excel.MsExcelComInterop.ExcelApplication();
}
catch
{
System.Console.WriteLine("Platform not supported or MS Excel application not installed");
return;
}
// Workbook actions
string sourceTestFile = "test.xlsx";
string targetTestFile = "test.pdf";
if (System.IO.File.Exists(targetTestFile))
System.IO.File.Delete(targetTestFile);
wb = excelApp!.Workbooks.Open(sourceTestFile);
wb.ExportAsFixedFormat(CompuMaster.Excel.MsExcelComInterop.Enumerations.XlFixedFormatType.xlTypePDF, targetTestFile);
}
finally
{
// Close and dispose everything
if (wb != null && wb.IsClosed == false)
wb.Close();
if (excelApp != null)
excelApp.Dispose();
CompuMaster.ComInterop.ComTools.GarbageCollectAndWaitForPendingFinalizers();
}
</details>
| Product | Versions 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. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- CompuMaster.ComInterop (>= 1.0.2026.1112)
-
net6.0
- CompuMaster.ComInterop (>= 1.0.2026.1112)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.11.12 | 46 | 11/12/2026 |
| 2026.10.9 | 111 | 10/9/2026 |
| 2026.10.8.1 | 98 | 10/8/2026 |
| 2026.10.8 | 99 | 10/8/2026 |
| 2026.10.7.1 | 99 | 10/7/2026 |
| 2026.10.7 | 105 | 10/7/2026 |
| 2026.9.29 | 99 | 9/29/2026 |
| 2026.9.28 | 108 | 9/28/2026 |
| 2026.8.31 | 133 | 8/31/2026 |
| 2026.7.30.1 | 142 | 7/30/2026 |
| 2026.7.30 | 137 | 7/30/2026 |
| 2026.4.30 | 141 | 4/30/2026 |
| 2026.2.5.1 | 150 | 2/5/2026 |
| 2026.2.5 | 146 | 2/5/2026 |
| 2026.2.4.2 | 141 | 2/4/2026 |
| 2026.2.4.1 | 139 | 2/4/2026 |
| 2026.2.4 | 140 | 2/4/2026 |
| 2025.12.30 | 154 | 12/29/2025 |
| 2025.12.26 | 186 | 12/26/2025 |
| 2025.12.24 | 228 | 12/24/2025 |