Excel中的数据透视表选项

时间:2008-09-09 14:26:39

标签: .net excel vsto pivot-table

我需要设计一个用于在.NET中生成excel报告的小项目,该项目将发送给用户使用。

excel报告将包含数据透视表。

我对它们没有多少经验,但我可以考虑三种实现方案:

  1. 为其设置查询,填充,断开连接。通过这种方式,用户可以对值进行分组并进行一些播放,但他无法刷新数据。
  2. 生成一个小型访问数据库,并将其与excel文件一起发送,连接到它。
  3. 将数据复制到excel(可能在其他工作表中)并连接到那里的数据。这会使我认为excel文件非常大。
  4. 在性能与可用性方面,最佳选择是什么?还有另一种我不知道的选择吗?

5 个答案:

答案 0 :(得分:0)

您是否必须保持数据“离线”?

我通常在这些你拥有相当多数据的情况下使用网络上现有的sql-server。如果要在办公室使用,用户无论如何都会在线。

请记住在sql-server上为此报告创建一个限制访问权限的专用用户,并且不要在excel文件中存储“sa”密码。

如果您“发送给用户”意味着办公室以外的用户,这将不是一个好的解决方案。如果是这种情况,我会尝试将数据包含在excel表中,看看它会变得多大。如果文件不是太大,这将是最用户友好的解决方案。

另外,我在网上找到了这个:Different Ways of Using Web Queries in Microsoft Office Excel 2003。这将允许您将数据存储在公共网站上(如果需要,可以使用秘密URL),然后让Excel提取数据。这样您就不必用大文件填充用户收件箱,也可以在以后更新数据而不重新发送excel文件。

答案 1 :(得分:0)

@Espo

不,用户将无法访问原始数据源,这就是为什么我正在考虑使用报告所需的数据子集创建一个小型访问数据库

答案 2 :(得分:0)

选项3听起来最简单,我认为Excel似乎不比Access更有效地存储数据。两个文件的问题是让它们之间的链接即使在不同的位置也能正常工作。

答案 3 :(得分:0)

@paulmorriss

也许......问题在于,单张纸可以包含多少数据存在限制......我在考虑选项2,除非有人告诉我这对性能不是一个好主意

答案 4 :(得分:0)

由于这是一个小项目,您可以依靠Excel从应用程序进行数据存储。它的开发和测试会更容易,维护也更简单。