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

45 excel limits row-number

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

som*_*ome 35

(由于错误而更新......向所有人提出建议:在完全清醒之前不要在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 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

  • @ htm11h如果您有4GB或64PB并不重要,Excel仍然有1048576行和16384列的限制.[来源:微软](https://support.office.com/en-us/article/Excel-specifications-and-limits-ca36e2dc-1f09-4620-b726-67c00b05040f) (3认同)

Two*_*ter 9

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

  • 这毫无意义.当然,一百万行索引适合32位......但是40亿行也是如此.为什么不去那?至于数据库参数 - 显然人们感觉受到了32K行的阻碍,他们不得不在excel 97中将它提升到64k.然后他们在Excel 2007中将它提升到1M.为什么不一直走? (19认同)