直接从IE打开下载文件时,数据源引用无效

时间:2012-08-22 09:46:59

标签: java excel internet-explorer mime-types

我有服务器。有功能 - 下载excel(XLS)文件。我使用Jasper构建报告并将二进制数据发送到响应流。我将ContentType设置为“application / vnd.ms-excel; charset = windows-1252”,因此浏览器能够识别文件的类型并提供用户直接打开文件或将文件另存为本地磁盘。

如果用户直接从IE打开文件(只能在IE中重现),则无法创建数据透视表。 “数据源引用无效”出现错误:

Data source reference is not valid

我使用ProcMon收集日志,然后是文件应对算法:

  1. IE将文件下载到IE临时存储,其名称与HTTP标头相同。例如 exportToExclel_2012.xls
  2. IE使用-Embedding属性运行Excel流程。
  3. Excel将打开 exportToExclel_2012.xls 标题。
  4. Excel复制文件以拥有生成名称的临时存储。例如 30A27D77.xls
  5. 关闭IE临时文件( exportToExclel_2012.xls )。
  6. 使用Excel临时文件进行一些文件操作(似乎正在解析xls格式)。并关闭Excel临时文件 30A27D77.xls
  7. 因此,似乎存在从30A27D77.xls文件到exportToExclel_2012.xls的一些引用(因为我们在Excel中 exportToExclel_2012.xls 标题)。

    问题:您能否请教我下一步研究步骤或提供一些证据证明服务器端不会影响数据透视表的行为?

1 个答案:

答案 0 :(得分:1)

本文中提到的Mosly问题http://support.microsoft.com/kb/211912