0

为什么像 Microsoft Excel、Gnumeric 和 OpenOffice.org Calc 这样的程序在设计时对行数和列数进行了硬编码限制?当电子表格被认为是要求苛刻的应用程序并且动态内存分配被认为是“高端”时,这似乎是一种古老的编程技术。我猜这表明某些资源正在被静态分配,并假设“没有人需要更多”,从而在应用程序中引入了非常任意的限制。其背后的逻辑是什么?

注意:我知道有些人会争辩说这个问题与编程无关。这是一个先发制人的反驳:这个问题与编程有关,因为它询问为什么使用普遍且看似过时的编程方法。

4

4 回答 4

2

最初的原因是为了性能和空间,因为(例如)处理 65536 行只需要两个字节。这些历史原因已随 Office 2007 消失(如果不是其他原因),因此您的问题也已过时。

于 2010-01-08T03:35:22.853 回答
1

因为将单元格引用作为一对索引处理更容易并且它们最终有限制?

简而言之,无论你做什么,都会有一个限制,问题是它会是什么,做到这一点要花多少钱,会遇到多少人?

于 2010-01-08T03:52:44.050 回答
0

Excel97 biff 记录中,列存储为 0xff 编号,行存储为 0xFFFF 编号。所以它将列限制为 255,行限制为 65535,如果你想在 Excel2003 中保存更多的行/列(如果它在 IDE 中支持),它将不会被保存。

于 2010-01-11T08:41:57.200 回答
0

下一个 Gnumeric 版本将允许更大的工作表,最多 8M 行和 8k 列。如果您真的需要这么大的纸张,请购买一些 TBytes 的 RAM。

于 2010-01-08T07:48:56.493 回答