我想探索这条动态使用 Excel 的路径。
我想在我的 C# 应用程序中使用 Excel,而不包括 dll 和其他东西。我会先检查是否安装了所需的 Excel 版本并运行它。
首先,我想获得我需要的所有类型,但我无法掌握它们:
// works
Type typeExcel = Type.GetTypeFromProgID("Excel.Application");
object excel = Activator.CreateInstance(typeExcel);
object workbooks = typeExcel.InvokeMember("Workbooks", BindingFlags.GetProperty, null, excel, null);
// this doesn't work, returns null
Type typeWorkbooks = Type.GetTypeFromProgID("Excel.Workbooks");
如果没有正确的类型,我将无法调用成员。那么我做错了什么?如何加载我需要的所有类型并知道它们在那里?我当前的 Excel 版本是 2003。
原因:如果我包含未安装在目标系统上的 COM 库,我的应用程序将无法启动。如果我动态加载它们,我可以检查它们的存在并通知用户缺少功能。