C# 如果未安装MS office,则排除office.interop
我的问题是,我的程序在运行时被未安装office的计算机打开时崩溃 我正在写一个程序,它将由不同计算机上的多个用户运行。一些用户的计算机将安装MS office,其他用户则不会。这是一个多形式的程序,为了便于参考,可以将其视为类似ERP类型的软件 我已将Microsoft.Office.Interop.Excel和Microsoft.Office.Interop.Outlook包含在程序参考中。我的应用程序中的某些子窗体同时使用excel和outlook功能,但许多子窗体不使用 我希望安装和未安装office的用户都能够运行该程序。如果他们没有安装office,可能会收到一个错误,说明如果他们单击通常会导出excel数据电子表格的按钮,他们没有安装office 有没有办法做到这一点C# 如果未安装MS office,则排除office.interop,c#,winforms,visual-studio,office-interop,C#,Winforms,Visual Studio,Office Interop,我的问题是,我的程序在运行时被未安装office的计算机打开时崩溃 我正在写一个程序,它将由不同计算机上的多个用户运行。一些用户的计算机将安装MS office,其他用户则不会。这是一个多形式的程序,为了便于参考,可以将其视为类似ERP类型的软件 我已将Microsoft.Office.Interop.Excel和Microsoft.Office.Interop.Outlook包含在程序参考中。我的应用程序中的某些子窗体同时使用excel和outlook功能,但许多子窗体不使用 我希望安装和未安
我希望避免第三方库,必须在所有计算机上安装office,因为这些工作站上不需要office。我还希望管理一个程序,而不是管理两个单独的程序,这两个程序共享表单和功能。有上述限制-没有第三方库,某些用户计算机上没有office,程序也没有2个版本//将Excel文件作为数据源读取到程序中,并以这种方式处理数据。对于您提到的导出Excel电子表格的地方,您可以使用ODF/ODS 有上述限制-没有第三方库,某些用户计算机上没有office,程序没有2个版本//将Excel文件作为数据源读取到程序中,并以这种方式处理数据。对于您提到的导出Excel电子表格的地方,您可以使用ODF/ODS 我设置了一个新表单,并测试了应用程序中导致程序崩溃的具体原因。我发现包括办公室参考资料不会引起问题。还使用Microrosoft.Office.Interop.Excel添加;不会引起问题 然而,我在主程序中调用了一个类,该类创建了Excel应用程序、工作簿和工作表,尽管在程序加载时并没有实际使用这些项。类中可能导致问题的局部变量的一个示例是private Excel.Application XLApp=new Excel.Application
在允许用户运行任何可能导致程序崩溃的程序之前,我可能会使用@Jcl建议的解决方案。我设置了一个新表单,并测试了应用程序中导致程序崩溃的具体原因。我发现包括办公室参考资料不会引起问题。还使用Microrosoft.Office.Interop.Excel添加;不会引起问题 然而,我在主程序中调用了一个类,该类创建了Excel应用程序、工作簿和工作表,尽管在程序加载时并没有实际使用这些项。类中可能导致问题的局部变量的一个示例是private Excel.Application XLApp=new Excel.Application
在允许用户运行任何可能导致程序崩溃的程序之前,我可能会使用@Jcl建议的解决方案。Self在他们自己的程序集中包含所有调用这两个引用的方法,并在调用这些方法之前检查dll。如果在项目中使用程序集,则可以将“复制本地”属性设置为true,也可以手动将.dll复制到bin文件夹,以便在部署时将其复制。Self在自己的程序集上包含调用这两个引用的所有方法,并在调用这些方法之前检查dll。如果在项目中使用程序集,则可以将“复制本地”属性设置为true,也可以手动将.dll复制到bin文件夹,以便在部署时对其进行复制。。