我们正在尝试为用户提供从SharePoint网站下载准备好的Excel报表的功能。包含数据透视表的报表模板将出现在共享库中。用户不直接与Excel交互,而是使用网页。根据用户在这些网页上的过滤选择,可以选择下载“准备好的”报告。
此处的目标是在URL调用时通过REST将选定的过滤器参数传递给Excel Services,并以可下载的方式获取准备好的工作簿。
到目前为止,我们已经能够按原样下载工作簿了:
http://server/_vti_bin/ExcelRest.aspx/sites/test/Shared%20Documents/PivotPOC.xlsx/Model?$format=workbook
- 这很有效。
透视过滤器值列位于B列,因此为了传递过滤器值,我们尝试了这样做:
http://server/_vti_bin/ExcelRest.aspx/sites/test/Shared%20Documents/PivotPOC.xlsx/Model?Ranges('B1')=David&$format=workbook
- 这不起作用 - 并在控制台中的Firefox上显示此错误:
未声明纯文本文档的字符编码。如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本进行渲染。需要在传输协议中声明文件的字符编码,或者文件需要使用字节顺序标记作为编码签名。
使用Excel Services时将参数传递给数据透视表的正确方法是什么?