此 Excel 文件,促销导入模板.xls,从源文件打开时是一个完全有效的 Excel 文件。从上述 URL 的 IIS 服务器下载时,使用 curl、Firefox、Chrome 或 IE,保存的文件具有完全相同的文件大小和 MD5:
C:\Users\rpresser\Downloads>md5sum p*xls
1ec492aef69bd9cf2b784003167addbb *promoImportTemplate - Chrome download.xls
1ec492aef69bd9cf2b784003167addbb *promoImportTemplate - curl.xls
1ec492aef69bd9cf2b784003167addbb *promoImportTemplate - original.xls
使用浏览器下载时,会出现备用数据流标记文件来自 Internet 区域。这是正常的,也是意料之中的。但是,它使 Excel 声称文件已损坏。不工作文件和“损坏”文件之间的其他差异。MD5 相同,并且所有文件都标记为只读,以防止 Excel 更改内部时间戳。请参阅这个视频进行演示。
如果我使用流实用程序,然后下载的文件可以正常打开。(视频中没有,抱歉。我后来才想到这一点。)
这种奇怪的行为有没有什么可能的解释呢?
答案1
我认为可能的解释是该文件在打开时运行了一些宏,这会使文件正常工作,而当添加了 ADS 后,它是在保护模式下打开的,宏无法运行。