Descubra qué versión de Excel está instalada en .NET Framework

Fecha de creación de la página :

Para obtener la versión instalada de Excel, use el método Type.GetTypeFromProgID para obtener el tipo de Excel.Application y generar una instancia con el métodoActivator.CreateInstance. No generar una instancia de Excel.Application directamente es evitar ser dependiente de la versión por lese directo. De esta manera, podrás ver la última versión.

A continuación, puede hacer referencia a la propiedad Version desde la instancia de aplicación generada para obtener la versión. La versión recuperada es la versión que Excel tiene internamente. Por ejemplo, Excel 2010 es 14.0 y Excel 2013 es 15.0.

Además, para usar estas clases, debe configurar System.Reflection y System.Runtime.InteropServices en using.

/// <summary>
/// インストールされている Excel のバージョンを取得します。
/// </summary>
/// <returns>インストールされている Excel のバージョン。</returns>
public static decimal GetInstallExcelVersion()
{
  // Excelアプリケーションに接続
  var type = Type.GetTypeFromProgID("Excel.Application");
  object application = null;
  try
  {
    application = Activator.CreateInstance(type);

    if (application == null)
    {
      // 未インストールの場合
      return 0;
    }

    // バージョンを取得
    var ver =
        application.GetType().InvokeMember(
        "Version", BindingFlags.GetProperty, null, application, null);

    decimal version;
    if (!decimal.TryParse(ver.ToString(), out version))
    {
      return 0;
    }
    return version;
  }
  finally
  {
    if (application != null)
    {
      Marshal.ReleaseComObject(application);
    }
  }
}

Otros sitios tienen descripciones similares, pero algunos sitios no liberan aplicaciones con Marshal.ReleaseComObject. Si olvida esto, el proceso de Excel permanecerá, así que asegúrese de liberarlo finalmente.