57

在 Office 2007 之前,Excel 最多有 65,000 行。Office 2007 将其增加到最多 100 万行,这当然更好;但我很好奇——为什么会有限制?显然,随着电子表格大小的增加,性能会呈指数级下降;但是通过从一张小表格开始并仅根据需要动态“重新调整大小”来让 Excel 对此进行优化并不难。考虑到将限制从 65K 增加到 100 万必须做多少工作,为什么他们不一直这样做,所以它只受到可用内存和磁盘空间量的限制?

4

2 回答 2

45

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

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

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

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

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

2016 年更新:

找到Microsoft 的 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 的语言版本
  • 工作簿中的名称:受可用内存限制
  • 工作簿中的窗口:受可用内存限制
  • 工作表中的超链接:66,530 个超链接(意外数量,可能是错误的。16 位 = 65536)
  • 窗口中的窗格:4
  • 链接表:受可用内存限制
  • 场景:受限于可用内存;摘要报告仅显示前 251 个场景
  • 在场景中更改单元格:32
  • 求解器中的可调整单元格:200
  • 自定义功能:受可用内存限制
  • 缩放范围:10% 到 400%
  • 报告:受可用内存限制
  • 排序参考:单次排序64个;使用顺序排序时不受限制
  • 撤消级别:100
  • 数据表单中的字段:32
  • 工作簿参数:每个工作簿 255 个参数
  • 过滤器下拉列表中显示的项目:10,000
于 2009-02-09T02:54:36.193 回答
8

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

于 2009-02-09T02:03:16.673 回答