通过OpenXML API在Excel工作表中设置活动单元格会导致其在打印时崩溃

时间:2018-06-25 17:18:28

标签: excel openxml openxml-sdk

我有一本使用OpenXML API从头开始创建的工作簿。它将打开并正常打印。我试图在第一个工作表中添加更改活动单元格的方法,它工作正常。当我打开工作簿时,我可以看到选择已更改。但是当我打印时,Excel崩溃了。检查事件查看器,我在崩溃时看到了这一点:

Faulting application name: EXCEL.EXE, version: 16.0.9330.2124, time stamp: 0x5b16f725
Faulting module name: mso20win32client.dll, version: 0.0.0.0, time stamp: 0x5b16f433
Exception code: 0xc0000409
Fault offset: 0x001c31cf
Faulting process id: 0x52e8
Faulting application start time: 0x01d40ca3115dc384
Faulting application path: C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE
Faulting module path: C:\Program Files (x86)\Common Files\Microsoft Shared\Office16\mso20win32client.dll
Report Id: ff5f88f9-9fd2-43d6-aaaa-e19142b8408f
Faulting package full name: 
Faulting package-relative application ID: 

如果我使用相同的工作簿并手动设置活动单元并尝试打印它,则它可以正常工作并打印。

当我解压缩该文件的两个版本(以编程方式设置的一个版本和以手动方式设置的一个版本)时,我会看到很多差异,例如,手动文件包含docProps文件夹,并且在[Content_Types] .xml文件中手动文件还有4个替代。

从文档中可以看出,设置活动单元格所需要做的就是在工作表中添加一个节点,该节点指定选定的选项卡,活动单元格和参考序列。还有什么需要设置的,以防止在尝试打印时崩溃?还是这是Excel中的错误?

0 个答案:

没有答案