LabVIEW报表生成工具包时出现错误-41106
使用LabVIEW报表生成工具包创建Excel报告或Word文档时,收到以下错误:Error -41106 occurred at NI_Excel.lvclass:new report subVI.vi ->NI_report.lvclass:New Report.vi -> Export Report With JKI.vi
按照官网的解释是:
可能有一个额外可用的注册表项,导致ActiveX调用了错误的注册表。可以通过不同的方式修复:
最安全的方法是:
修复Microsoft Office 。
卸载并重新安装Microsoft Office 。
以上的方法需要更长的时间。更快的方法是在Windows注册表编辑器中手动编辑注册表项,但可能会损坏您的计算机。下面列出了执行此操作的步骤。
注意:编辑注册表可能会损坏您的计算机。强烈建议在修改注册表之前制作备份副本。
转到“开始”»“运行”并输入regedit,然后选择“确定” 。这将打开注册表进行编辑。
转到注册表菜单,然后选择导出注册表文件。
为导出范围选择全部,然后选择文件名。这将创建注册表的备份副本。
注册表编辑器打开后,导航到Microsoft Excel的以下项:
HKEY_CLASSES_ROOT \的TypeLib \ {00020813-0000-0000-C000-000000000046}
此项包含用于Excel类型库的位置。在此项下,检查以下子项(如下所示),以获得与其关联的正确数据。
The data for the 1.0 subkey should be Microsoft Excel 5.0 ObjectLibrary
The data for the 1.2 subkey should be Microsoft Excel 8.0 ObjectLibrary
The data for the 1.3 subkey should be Microsoft Excel 9.0 ObjectLibrary
The data for the 1.4 subkey should be Microsoft Excel 10.0 ObjectLibrary
The data for the 1.5 subkey should be Microsoft Excel 11.0 ObjectLibrary
The data for the 1.6 subkey should be Microsoft Excel 12.0 ObjectLibrary (MS Excel 2007)
The data for the 1.7 subkey should be Microsoft Excel 13.0 ObjectLibrary (MS Excel 2010)
The data for the 1.8 subkey should be Microsoft Excel 15.0 ObjectLibrary (MS Excel 2013)
The data for the 1.9 subkey should be Microsoft Excel 16.0 ObjectLibrary (MS Excel 2016)
如果有任何其他注册表项未分配给Microsoft Excel对象库,则应删除这些项。
例如,如果存在注册表1.7并且未指向Microsoft Excel对象库,则需要将其删除。
在实际使用时,是打开一个excel作为模板,将表格数据填入,另存为excel文件后,关闭。如果只执行一次,不报错,一切正常。如果循环多次执行,则会在第二次打开模板时,就出现“Error -41106 occurred at NI_Excel.lvclass:new report subVI.vi ->NI_report.lvclass:New Report.vi -> Export Report With JKI.vi”。这与官网的不大一致,并不是每次都出现。分析后认为是excel关闭后和再次打开的间隔太短,excel还没有完全准备好所致,这样就在第一次保存关闭excel后,延迟1S后再次运行循环,就不报错了。如下图所示。
这里提到的程序,参见下面的附件。该附件双击就可以打开下载了。
这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。