Разберете коя версия на Excel е инсталирана в .NET Framework
За да получите инсталираната версия на Excel, използвайте метода Type.GetTypeFromProgID, за да получите типа на Excel.Application и да генерирате екземпляр с методаActivator.CreateInstance. Не генерира екземпляр на Excel.Application директно е да се избегне версия зависи от директна лл. По този начин ще можете да видите най-новата версия.
След това можете да се поясни свойството версия от генерирания екземпляр на приложението да получите версия. Извлечената версия е версията, която Excel има вътрешно. Например Excel 2010 е 14.0 и Excel 2013 е 15.0.
Също така, за да използвате тези класове, трябва да конфигурирате System.Reflection и System.Runtime.InteropServices при използване.
<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 ще остане, така че се уверете, че сте го пуснали накрая.