当我们尝试打开在 Excel 2007 中受保护的文件时,它可以工作,但是当我们尝试打开在 Excel 2010 中受保护的相同文件时,它不起作用。它引发以下错误 -
源数组不够长。检查 srcIndex 和长度,以及数组的下限
EncryptedPackageHandler 在第 77 行给出了这个错误:
Array.Copy(data, 44, text, 0, (int)HeaderSize - 34);
对于使用 Excel 2007 保护的同一文件,数组长度为:
EncInfo1.bin -> 是一个大小为4KB的加密二进制文件,数据248,文本130,HeaderSize 164
对于使用 Excel 2010 保护的同一文件,数组的长度为:
EncInfo1.bin -> 是一个未加密的 XML 文件,大小为 5KB,数据:1057,文本:1836597018,HeaderSize:1836597052
使用 Excel 2010 时没有其他错误,除了这个
使用的库:EPPlus