Descubra qual versão do Excel está instalada no Framework .NET
Para obter a versão instalada do Excel, use o método Type.GetTypeFromProgID para obter o tipo de Excel.Application e gerar uma instância com o métodoActivator.CreateInstance. Não gerar uma instância do Excel.Application é evitar ser dependente de versão diretamente. Desta forma, você poderá ver a versão mais recente.
Em seguida, você pode fazer referência à propriedade Versão da instância do aplicativo gerado para obter a versão. A versão recuperada é a versão que o Excel tem internamente. Por exemplo, o Excel 2010 é 14.0, e o Excel 2013 é 15.0.
Além disso, para usar essas classes, você deve configurar System.Reflection e System.Runtime.InteropServices no uso.
<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);
}
}
}
Outros sites têm descrições semelhantes, mas alguns sites não liberam aplicativos com Marshal.ReleaseComObject. Se você esquecer isso, o processo Excel permanecerá, então certifique-se de liberá-lo finalmente.