Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# excel工作簿可以处理的最大工作表数是多少?_C#_Excel - Fatal编程技术网

C# excel工作簿可以处理的最大工作表数是多少?

C# excel工作簿可以处理的最大工作表数是多少?,c#,excel,C#,Excel,范围 我目前正在使用C和一些类似的框架开发自动化excel报表 由于一个关于如何在该报告中查看数据的非常具体的要求,我被迫做一些可能会将excel推向边缘的事情 数字 目前,我正在为3个部分、11个月1月12月+全部和4个阶段的不同组合创建一个不同的工作表。您不必知道这是什么,但这是一个类别属性 此时此刻,我正坐在132张不同的工作表上,每一张都是我刚才引用的属性的组合 然后,它就开始了 我们的客户喜欢我们处理问题的方式,因为他们无法自己解决问题。事实上,他们非常喜欢它,以至于他们决定为组合添加

范围

我目前正在使用C和一些类似的框架开发自动化excel报表

由于一个关于如何在该报告中查看数据的非常具体的要求,我被迫做一些可能会将excel推向边缘的事情

数字

目前,我正在为3个部分、11个月1月12月+全部和4个阶段的不同组合创建一个不同的工作表。您不必知道这是什么,但这是一个类别属性

此时此刻,我正坐在132张不同的工作表上,每一张都是我刚才引用的属性的组合

然后,它就开始了

我们的客户喜欢我们处理问题的方式,因为他们无法自己解决问题。事实上,他们非常喜欢它,以至于他们决定为组合添加另一个属性/类别。他们还希望在文件加载到数据库的每个加载日期看到相同的视图。在快速计算之后,我们可以估计,这一变化将使同一工作簿中的Excel工作表数量猛增到大约1600张

大人物还是回家

我们害怕尝试它,因为我们认为excel无法处理此工作表过载


会吗?

工作表的数量仅受可用内存的限制,您可能会使用Excel 32位,因为x64版本不受欢迎,因此可用内存也会受到限制。从使用Excel加载项的过程中,我看到,一旦内存消耗超过1.2GB,Excel就会陷入困境

有鉴于此,本例中的限制很可能取决于工作表中数据的大小,以及您在后台创建的任何数据透视缓存。如果每个数据集的大小不是很大的话,1600张图纸应该可以使用


尽管如此,我怀疑Excel是否是解决这个问题的可行方案;用户喜欢它,因为他们熟悉它,但像Tableau这样的东西可以让他们更好地可视化数据,并且更具可伸缩性

我非常尊重您的初始解决方案,看到客户喜欢它,我就明白了为什么您最初的思考过程只是为了扩展和扩大它。。。但在现实中,如果有一张包含全部源数据或与之连接的工作表,以及一张演示表,用户可以在其中输入您的案例中的各个参数、当前的3个属性加上新的加载日期,并在单个选项卡上过滤/选择/处理结果,不是更有效吗?您可以使用滑块、滚动条、微调器、单选按钮等,方便用户浏览多个属性组合-您可以使用一个按钮来表示每个最流行的属性组合-UI选项比使用132到1600个选项卡灵活得多,其中,在两个视图之间切换的唯一方法是上/下选项卡列表


tl;我认为你应该认真考虑重新评估你的客户请求的解决方案。

< P>听起来你需要使用Excel的64位版本来处理这个问题,这可能不实用。 Excel的优点是将所有数据、公式和结果格式保存在内存中,这在加载时速度很快,但会占用大量内存,而且加载速度很慢

拥有许多工作表不会显著增加Excel内存负载,除非工作表之间有公式链接:内存负载通常是包含数据、格式和公式的单元格数量的一个因素


也许Excel PowerPivot可以提供一些帮助:它的强大功能和可扩展性远远超过了普通的数据透视。

如果你看一下“it has:工作簿中的工作表受可用内存限制默认值为3张”,正如@Habib所说,似乎你不会真正受到工作表数量的限制,而是受可用内存的限制,但似乎您正在创建一个不可扩展的解决方案,并且客户的请求不断变化。。。当这种情况发生时,你常常不得不重新考虑如何解决这个问题。。。也许是一个背景数据库,而不是这么多的表格??总的来说,4个月后,当他们说他们想要增加2个额外属性时会发生什么就我的2美分…@JohnBustos我知道伙计,我知道。我们曾考虑将此报告直接连接到红移,但比这更难。他们想要可视化数据的方式是如此独特,以至于excels pivot表是不够的。谢谢你的2分钱Mate是的,有时候你的客户需要的只是他们需要的方式。。。祝你好运,伙计@ExactaBox我同意你下面的回答,但用户可以右键单击工作表列表左侧的工作表导航箭头,并根据版本获得一个列表框或滚动菜单,其中包含所有工作表的名称。我们目前使用红移来处理背景数据,因为它的大小和种类都非常庞大。他们对过度消费不灵活
l、 因为他们必须在内部将其分发到其他领域,所以excel对他们来说是必须的。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。@rkhb若要在逻辑上保持一致,应首先对问题主体进行评论。如果他真正想知道的只是工作表的最大数量,为什么他会继续告诉我们他目前有132张工作表,他可能有1600张工作表,他正在使用C等等。所有这些都转移了人们对标题问题的注意力。然而,我假设他把这些信息放在那里是为了增加上下文,扩大讨论的范围——这就是我的回答。对于PowerPivot建议,肯定+1,我也这么想,但对问题集了解不够,不知道它是否有意义。。。不过,绝对值得一提!!