檢查 .NET Framework 安裝的 Excel 版本
頁面創建日期 :
若要獲取已安裝的 Excel 版本,請使用Type.GetTypeFromProgID方法獲取Excel.Application類型,並使用Activator.CreateInstance方法生成實例。 不要直接生成 Excel.Application 實例,以避免直接引用依賴於版本。 這樣,您才能查看最新版本。
然後,您可以從生成的應用程式實例引用版本屬性以獲取版本。 檢索的版本是 Excel 內部的版本。 例如,Excel 2010 為 14.0,Excel 2013 為 15.0。
此外,若要使用這些類,必須在 using 中設置"系統.反射" 和「系統.運行時.Interop Services」。
<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);
}
}
}
其他網站也有類似的描述,但某些網站沒有使用 Marshal.ReleaseComObject 發表應用程式。 請記住,如果您忘記了這一點,Excel 進程將保持不變,因此請確保在 finally 中釋放它。