Excel中如何击败32,767文本限制的新思路

所以像其他人一样,过去有人问过在Excel中,每个单元有32k的限制吗?

我已经find了解决这个问题的方法:将工作负载分解为两个不同的.txt文件,然后合并这两个.txt文件,但是这是一个巨大的PITA,而且我最终不会使用excel作为我的限制没有时间validation.txt文件合并后的数据了,这是一个漫长的过程和乏味的国际海事组织。

不过,我认为如果有限制的话,那是因为它是在微软开发Excel的时候编码的,因为它们还没有提高(2013版本的限制仍然是相同的限制,所以它不会升级)

我也知道很多人会说,如果你需要在这个长度单个单元格的信息,那么你应该使用ACCESS以及我不知道如何使用ACCESS或如何导入一个制表符分隔文件到ACCESS,就像你会进入EXCEL ,即使我能弄清楚,我现在还得弄清楚如何学习所有的新命令,如果还有这样的事情,他还是EXCEL的等价物。

所以我有一天在浏览一些博客post,关于如何通过软件来克服限制,我读了一些有关逆向工程的内容。

是否有可能加载excel到hex编辑器,进入并更改每个32767的实例更大?

这个问题可能不完全符合StackOverflow的参数。 但是我看到了更糟糕的post,我认为这个问题值得一个很好的答案。

虽然32767可能看起来像一个任意数字,但它实际上是一个16位有符号整数的上限(在C中称为short )。 short的范围从-32768到32767。

一个16位整数也可以是无符号的 ,在这种情况下,它的范围是0到65535。

由于单元格不可能具有负数的字符,因此微软将基于有符号的而不是无符号的16位整数来限制单元的长度,这似乎很奇怪。 当他们编写原始程序时,他们可能无法想象将任何信息存储在单个单元中的人。 使用short s可能简化了代码。 (我的第一台电脑只有4K的内存,所以对于我来说,Excel可以在单个单元中存储8倍的信息,这真是太神奇了。)

微软可能会保持32767的限制,以保持与以前版本的Excel的向后兼容性。 但是,这并没有什么意义,因为最近版本的Excel中行和列的数量大大增加,使得大的电子表格与以前的版本不兼容。

现在到您的逆向工程Excel的问题。 这将是一个庞大的任务,但并非不可能。 在90年代早期,我为一些小型计算机病毒(几百字节)进行了反向工程并编写疫苗。 在八十年代,我逆向devise了一个8KB的电脑国际象棋程序。

在对可执行文件进行反向工程时,您需要一个好的反汇编程序或反编译器 。 取决于你使用什么,你可能会得到汇编语言或C代码作为输出。 但是请注意,这不会被注释代码,并且您将看不到有意义的variables或函数名称。 你必须阅读每一行代码来确定它的function。 你会很快发现可执行文件是你最担心的。 Excel的可执行文件链接在一些DLL文件中,这也需要反向工程。

要获得成功,除了C或Intel汇编代码之外,还需要广泛的Windows编程知识 – 更别提大量的耐心了。 学习访问将是一个更简单的任务。

我会感兴趣的是为什么 32767不足以满足您的需求。 数据库可能更有意义,并且不一定需要复制Excel的function。 我将信息存储在数据库中输出到网页,在这种情况下,我使用HTML + JavaScript来处理任何需要交互的东西。