Uurige välja, milline Exceli versioon on installitud .NET Frameworki

Lehe loomise kuupäev :

Exceli installitud versiooni saamiseks kasutage tüüp. GetTypeFromProgID meetodit, et saada Exceli tüüp. Application ja luua eksemplariActivator. CreateInstance meetodit. Ei Genereeri Exceli eksemplari. Application otse on vältida versiooni sõltuv otsese LYE. Nii on teil võimalik näha uusimat versiooni.

Seejärel saate viidata versiooni atribuudi loodud rakenduse eksemplari saada versiooni. Toodud versioon on versioon, mille Excel on sisemiselt. Näiteks Excel 2010 on 14,0 ja Excel 2013 on 15,0.

Ka nende klasside kasutamiseks peate konfigureerima System. Reflection ja System. Runtime. InteropServices kasutamisel.

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

Muud saidid on sarnased kirjeldused, kuid mõned saidid ei vabasta rakendusi koos Marshal. ReleaseComObject. Kui te unustate selle, Exceli protsess jääb, nii et veenduge, et vabastada see lõpuks.