我有一个托管大量定价数据的网络服务,并返回与某些规定查询参数相关的数据。数据作为Datatable对象(在C#中)返回 - 对象类型本身并不重要,因为数据直接进入内存并且不在主机Excel对象的电子表格中。
现在,我想从这些数据中创建一个数据透视表。
我一直在网上看高低,我看不到有人解释如何做到这一点。这不可能吗?将VSTO作为未来唯一支持Web服务数据的支持方式似乎是愚蠢的,但是不可能从这些数据中获取pivottables。
我所拥有的唯一解决方案是kludges,我想确保在我做其中一件丑陋的事情之前没有一个优雅的解决方案:
这些操作真的是唯一的方法吗?必须有更优雅的东西。
DataTable:http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx
答案 0 :(得分:1)
Excel必须能够查看和访问数据以从中创建数据透视表。因此,您必须确保数据位于数据透视表加载程序可以读取的位置。此外,Excel是基于COM的,既不能查看也不能处理.NET对象。
这就是那么简单。
您的选择是:
将数据加载到Excel范围
将数据保存到文件
将数据存储到数据库(Access,SQL Server等)
将数据存储在数据仓库(SSAS,离线多维数据集等)中
就是这样。唯一可能的远程方法是实现作为OLE DB或ODBC数据源提供所必需的COM接口,但这将是很多工作中的一部分。