为什么Microsoft Excel中仍有行限制?

时间:2009-02-09 01:53:01

标签: excel row-number limits

在Office 2007之前,Excel最多有65,000行。 Office 2007突破了最多100万行,这当然更好;但我很好奇 - 为什么会有限制?显然,随着电子表格大小的增加,性能会逐渐降低;但是,通过从一个小工作表开始并仅根据需要动态“重新调整”它,对Excel进行优化应该不是很难。    鉴于将限制从65K增加到100万必须完成多少工作,为什么它们不会一路走下去,因此仅受可用内存和磁盘空间的限制?

2 个答案:

答案 0 :(得分:34)

(由于错误而更新......向所有人提出建议:在完全清醒之前不要在SO上发帖)

可能是因为优化。 Excel 2007最多可包含16 384列和1 048 576行。奇怪的数字?

14位= 16 384,20位= 1 048 576

14 + 20 = 34位=多于一个32位寄存器可以保存。

但是他们还需要存储单元格的格式(文本,数字等)和格式(颜色,边框等)。假设它们使用两个32位字(64位),它们使用34位作为单元编号,其他东西使用30位。

为什么这很重要?在内存中,他们不需要分配整个电子表格所需的所有内存,而只需要分配数据所需的内存,并且每个数据都标记在它应该位于的单元格中。

2016年更新:

找到Microsoft's specification for Excel 2013 & 2016

的链接
  • 打开工作簿:受可用内存和系统资源的限制
  • 工作表大小:1,048,576行(​​20位)乘16,384列(14位)
  • 列宽:255个字符(8位)
  • 行高:409点
  • 分页符:1,026水平和垂直(意外号码,可能错误,10位是1024)
  • 单元格可包含的字符总数:32,767个字符(带符号的16位)
  • 页眉或页脚中的字符:255(8位)
  • 工作簿中的表格:受可用内存限制(默认为1张)
  • 工作簿中的颜色:1600万种颜色(32位,可完全访问24位色谱)
  • 工作簿中的命名视图:受可用内存限制
  • 独特的单元格格式/单元格样式:64,000(16位= 65536)
  • 填充样式:256(8位)
  • 线宽和样式:256(8位)
  • 独特的字体类型:1,024(10位)全局字体可供使用;每个工作簿512个
  • 工作簿中的数字格式:200到250之间,具体取决于您已安装的Excel的语言版本
  • 工作簿中的名称:受可用内存限制
  • 工作簿中的Windows:受可用内存限制
  • 工作表中的超链接:66,530个超链接(意外的数字,可能是错误的.16位= 65536)
  • 窗口中的窗格:4
  • 链接表:受可用内存限制
  • 场景:受可用内存的限制;摘要报告仅显示前251个方案
  • 更改方案中的单元格:32
  • 求解器中的可调整单元格:200
  • 自定义功能:受可用内存限制
  • 缩放范围:10%至400%
  • 报告:受可用内存限制
  • 排序参考:单个排序中的64个;使用顺序排序时无限制
  • 撤消等级:100
  • 数据表单中的字段:32
  • 工作簿参数:每个工作簿255个参数
  • 过滤器下拉列表中显示的项目:10,000

答案 1 :(得分:9)

一句话 - 速度。最多一百万行的索引适合32位字,因此可以在32位处理器上有效使用。适合CPU寄存器的函数参数非常有效,而较大的函数参数需要在每次函数调用时访问内存,这是一个非常慢的操作。更新电子表格可能是涉及许多单元格引用的密集操作,因此速度很重要。此外,Excel团队希望处理超过一百万行的任何人都使用数据库而不是电子表格。