Aflați ce versiune de Excel este instalatîn .NET Framework

Data creării paginii :

Pentru a obține versiunea instalată de Excel, utilizați metoda Type.GetTypeFromProgID pentru a obține tipul de Excel.Application și pentru a genera o instanță cu metodaActivator.CreateInstance. Nu generează o instanță de Excel.Application direct este de a evita să fie dependente de versiune prin direct leșie. În acest fel, veți putea vedea cea mai recentă versiune.

Apoi puteți face referire la proprietatea Versiune din instanța de aplicație generată pentru a obține versiunea. Versiunea regăsită este versiunea pe care Excel o are intern. De exemplu, Excel 2010 este 14.0 și Excel 2013 este 15.0.

De asemenea, pentru a utiliza aceste clase, trebuie să configurați System.Reflection și System.Runtime.InteropServices în utilizare.

/// <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);
    }
  }
}

Alte site-uri au descrieri similare, dar unele site-uri nu lansează aplicații cu Marshal.ReleaseComObject. Dacă uitați acest lucru, procesul Excel va rămâne, deci asigurați-vă că îl eliberați în cele din urmă.