C# 在C中使用Microsoft.Office.Interop.Excel创建新的Excel.工作簿时显示ReportINI.xls消息#
我对c#中的Microsoft.Office.Interop.Excel有问题 创建新的Excel.工作簿时:C# 在C中使用Microsoft.Office.Interop.Excel创建新的Excel.工作簿时显示ReportINI.xls消息#,c#,excel,visual-studio-2010,office-interop,C#,Excel,Visual Studio 2010,Office Interop,我对c#中的Microsoft.Office.Interop.Excel有问题 创建新的Excel.工作簿时: Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\...\..."); 从excel中显示以下消息: 找不到ReportINI工作表。请确保ReportINI.xls位于-office-程序的-xlstart-子目录中 我已经
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\...\...");
从excel中显示以下消息:
找不到ReportINI工作表。请确保ReportINI.xls位于-office-程序的-xlstart-子目录中
我已经尝试禁用excel消息或excel工作表中的宏,但找不到解决方案
另外,我使用VisualStudio2010和Office2007。当然,我对C#、VisualStudio和Microsoft环境都是新手
有人知道我如何解决这个问题吗
谢谢 原因可能直接是excel文件宏。手动打开excel文件并释放宏时是否会出现相同的错误 我建议在项目中禁用带有c#代码的宏。 试试这个:
Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
//On here we disabled all macros
excelApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
原因可能直接是excel文件宏。手动打开excel文件并释放宏时是否会出现相同的错误 我建议在项目中禁用带有c#代码的宏。 试试这个:
Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
//On here we disabled all macros
excelApp.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable;
您看到这种情况的原因是您正在打开一个Calypso报告,该报告依赖于
ReportINI.xls
文件中的帮助函数。如果您试图使用Calypso自动报告生成器,则需要先找到该文件并打开它,然后再打开报告
如果您不想使用Calypso自动报告生成器功能,那么应该从正在修改的Calypso报告文件中删除所有VBA代码。它有一些运行在open上的函数,这些函数指向ReportINI.xls
文件
或者只抑制在open上运行的宏,如下所示:
Excel.Application xlApp = new Excel.Application();
xlApp.EnableEvents = False
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\...\...");
xlApp.EnableEvents = True
(在打开期间禁用事件将抑制工作簿的打开事件)您看到这一情况的原因是您正在打开一个Calypso报表,该报表依赖于在
ReportINI.xls
文件中找到的助手函数。如果您试图使用Calypso自动报告生成器,则需要先找到该文件并打开它,然后再打开报告
如果您不想使用Calypso自动报告生成器功能,那么应该从正在修改的Calypso报告文件中删除所有VBA代码。它有一些运行在open上的函数,这些函数指向ReportINI.xls
文件
或者只抑制在open上运行的宏,如下所示:
Excel.Application xlApp = new Excel.Application();
xlApp.EnableEvents = False
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\...\...");
xlApp.EnableEvents = True
(在打开期间禁用事件将抑制工作簿\u打开事件)实际上,我已经使用OleDb解决了问题,但使用互操作解决了问题。实际上,我使用OleDb解决了问题,但使用互操作解决了问题。