我开发了一个 C# 桌面应用程序。我的软件在 Excel 中生成了一些报告。到目前为止,它在我的客户端系统中运行良好。最近,他升级到了 Microsoft Office 2013。
我注意到每当他打开那个 Excel 时,它都会提示激活向导,并且不允许生成报告并引发 COM 异常:
“HRESULT 异常:0x800AC472”
任何想法,如果可能的话,在 C# 程序中处理它并继续生成报告。
PS:请仅针对该问题提出技术解决方案。我已经建议客户购买许可证(如果他没有),以便软件运行。
谢谢
如果您没有合同,您可以用手机发送短信吗?不,和你一样的问题。
如果他不想为开源替代品生成报告,则需要有效的许可证才能使用 Excel 。
通常是超时异常。
Excel Interop 直到 excel 完全加载后才会返回...
因为有对话框阻止 Excel 启动,所以会引发 Timeout 异常。
如果它是您的计算机,只需激活您的 Excel 副本。
如果它在您的客户端上,您应该需要有效的 Excel 安装(表示已激活)
或者,有一些免费的解决方案,例如:
1. 生成 CSV 文件(虽然没有样式是可能的)
2. 通过 ADO 生成 Xls(同样,没有样式)
3. 使用 Open Office (但需要客户拥有它
4. 使用 3ed 方库,例如:https ://code.google.com/p/excellibrary/
或 CompnentOne 等的商业包...
干杯