Esbrineu quina versió de l'excel s'instal·la al .NET Framework

Data de creació de la pàgina :

Per obtenir la versió instal·lada de l'Excel, utilitzeu el mètode Type. GetTypeFromProgID per obtenir el tipus d' excel. Application i generar una instància amb el mètodeactivator. createinstance . No generar una instància d'excel. l'aplicació directament és evitar ser dependent de la versió de Lye directa. D'aquesta manera, podreu veure la versió més recent.

A continuació, podeu fer referència a la propietat de la versió des de la instància de l'aplicació generada per obtenir la versió. La versió recuperades és la versió que excel·leix té internament. Per exemple, Excel 2010 és 14,0 i excel 2013 és 15,0.

A més, per utilitzar aquestes classes, heu de configurar System. Reflection i System. Runtime. InteropServices en ús.

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

Altres llocs tenen descripcions similars, però alguns llocs no Alliberen aplicacions amb Marshal. ReleaseComObject. Si oblida això, el procés d'excel romandrà, així que assegureu-vos d'alliberar-lo finalment.