Cari tahu versi Excel yang diinstal di .NET Framework

Tanggal pembuatan halaman :

Untuk mendapatkan versi Excel yang diinstal, gunakan metode type. GetTypeFromProgID untuk mendapatkan jenis Excel. Application dan menghasilkan instance dengan metodeActivator. createinstance . Tidak menghasilkan contoh Excel. Application secara langsung adalah untuk menghindari versi-tergantung oleh alkali langsung. Dengan cara ini, Anda akan dapat melihat versi terbaru.

Anda kemudian dapat referensi properti versi dari contoh aplikasi yang dihasilkan untuk mendapatkan versi. Versi yang diambil adalah versi yang Excel internal. Sebagai contoh, Excel 2010 adalah 14,0, dan Excel 2013 adalah 15,0.

Selain itu, untuk menggunakan kelas ini, Anda harus mengkonfigurasi System. Reflection dan System. runtime. InteropServices dalam menggunakan.

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

Situs lain memiliki deskripsi yang sama, tetapi beberapa situs tidak merilis aplikasi dengan Marshal. pembebasobjek. Jika Anda lupa ini, proses Excel akan tetap ada, jadi pastikan Anda melepaskannya di akhirnya.