什么是Excel工作簿可以处理的最大工作表数?

时间:2014-10-27 19:56:13

标签: c# excel

范围

我目前正在使用C#和EPPlus之类的一些框架开发自动excel报告。

由于在本报告中应该如何查看数据的确切具体要求,我被迫做了一些可以推动excel走向边缘的事情。

数字

目前,我正在为3段,11个月(jan-dec + all)和4"阶段"的每个不同组合创建一个不同的工作表。 (你不必知道那是什么,但它是一个类别属性。)

此时我正好坐在132个不同的工作表之上(每个工作表都是我刚引用的属性的组合)

然后,它变成了Kaboom!

我们的客户喜欢我们处理问题的方式,因为他们自己无法解决问题。事实上,他们非常喜欢它,所以他们决定为组合添加另一个属性/类别。他们还希望每个"加载日期" (文件加载到数据库的日期)。在进行快速数学运算后,我们可以估计这一变化将使同一工作簿中的Excel表格数量大幅增加到1600左右。

大或回家

我们害怕尝试它,因为我们不认为excel能够处理此工作表重载。

是的吗?

3 个答案:

答案 0 :(得分:3)

听起来你需要使用64位版本的Excel来处理这个问题,这可能不太实际。

Excel具有将所有数据,公式和结果格式保存在内存中的优势,加载时速度很快但使用大量内存并且加载速度很慢。

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

也许Excel PowerPivot可能会提供一些帮助:除了普通的支点外,还有很多功能和可扩展性。

答案 1 :(得分:2)

充分尊重您的初始解决方案,并看到客户"喜欢"它,我可以看到为什么你的初始思考过程只是为了扩展并使其更大......但实际上,使用一张包含整个源数据(或连接到它)和#34;演示文稿"用户可以输入单个参数的表格(在您的情况下,当前3个属性加上新的加载日期),结果将在单个选项卡上过滤/选择/处理?您可以使用滑块,滚动条,旋转器,单选按钮等来简化用户浏览多个属性组合 - 您可以使用单个按钮来表示每个最常用的属性组合 - UI选项比使用132更加灵活1600个选项卡,其中在两个视图之间切换的唯一方法是上下移动选项卡列表。

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

答案 2 :(得分:1)

页数仅受可用内存的限制(由于x64版本不受欢迎,您很可能使用Excel 32位,因此可用内存也会受到限制)。通过使用Excel Addins,我发现一旦内存消耗超过1.2GB,Excel就会挣扎。

鉴于此,您案例中的限制更可能取决于工作表中数据的大小以及您在后台创建的任何数据透视表。如果每个数据集都不是一个巨大的尺寸,那么1600页应该可以工作。

话虽如此,我还是质疑Excel是否是解决这个问题的可行方案;用户喜欢它,因为他们熟悉它,但像Tableau这样的东西可以让他们更好地可视化数据,并且可扩展性更高。