.NET Çerçevesi'nde Excel'in hangi sürümünün yüklü olduğunu öğrenin

Sayfa oluşturma tarihi :

Excel'in yüklü sürümünü almak için, Excel.Application türünü almak veActivator.CreateInstance yöntemiile bir örnek oluşturmak için Type.GetTypeFromProgID yöntemini kullanın. Excel.Application'ın bir örneğini doğrudan oluşturmamak, doğrudan sürüm bağımlısı olmaktan kaçınmaktır. Bu şekilde, en son sürümü görmek mümkün olacak.

Daha sonra sürümü almak için oluşturulan uygulama örneğinden Sürüm özelliğine başvuruda bulunabilirsiniz. Alınan sürüm, Excel'in dahili olarak sahip olduğu sürümdür. Örneğin, Excel 2010 14.0 ve Excel 2013 15.0'dır.

Ayrıca, bu sınıfları kullanmak için System.Reflection ve System.Runtime.InteropServices'i kullanarak yapılandırmanız gerekir.

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

Diğer siteler benzer açıklamalara sahiptir, ancak bazı siteler Marshal.ReleaseComObject ile uygulamaları serbest bırakmaz. Bunu unutursanız, Excel işlemi kalır, bu nedenle sonunda yayımladığınızdan emin olun.