1

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

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

数据源引用无效

我用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

所以似乎存在从 30A27D77.xls 文件到 exportToExclel_2012.xls 的一些引用(因为我们在 Excel 中exportToExclel_2012.xls标题)。

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

4

0 回答 0