我们正在考虑允许客户从我们的网络应用程序下载Excel文件,该文件包含其数据的原始导出以及基于该数据的一些基本图表和数据透视表。
我们想要完成这项工作的基本方法是,我们有一个固定的Excel文件,其中包含一个工作表中的所有报告元素,并为另一个工作表中的基础数据留出空间。当用户请求他们的Excel报告时,我们以编程方式填写数据工作表及其结果,并将最终的Excel文件发送给他们。
使用固定数据集进行原型设计时,一切似乎都很容易。我们使用的数据集已添加到Excel数据模型中,然后我们设置图表和其他报告元素。但是,当我们在应用程序中使用该文件作为生成的Excel文件的模板时,我们发现数据模型的定义仍然存在 - 意思是,我们构建了" protype"表格定义为$A$1:$T$5879
但是在生成报告时,该定义不会更改为包含添加的数据集可能具有的任何大小。
我们正在使用EPPlus来处理Excel工作表的生成,到目前为止还无法找到解决此类问题的任何方法。这可能是因为我们是相当Excel的新手。目标是获得用户体验,Excel表格中包含的图表和数据透视表反映了Excel文件中包含的总数据集,而无需他们做任何事情。
答案 0 :(得分:0)
好的,我实际上找到了解决方案。 解决方案正好在我们面前。
我们将数据集定义为命名集 - 这是在"公式"下完成的。在"名称管理员"内。我们有一个范围来定义我们的数据集 - "指的是"定义范围时的字段可以采用公式。因此,给它一个固定的大小,我们使用它:=OFFSET(Data!$A$1;0;0;COUNTA(Data!$A:$A);COUNTA(Data!$1:$1))
这会计算行数和列数,并参考A1
工作表中的Data
。我们所有的枢轴都将在启动时重新加载,这似乎有效。