我为我的一个客户开发了一个Excel解决方案,该解决方案围绕一个大表(直到DI列)。它充满了大约25%的数据和75%的公式。当我们现在粘贴43000行数据时,Excel 2010开始呻吟和呱呱叫。保存工作簿并重新打开后,Excel需要很长时间才能告诉工作簿已损坏。
我已经排除了我们开始使用腐败工作手册的可能性;我用新鲜的大小相似的表启动了一本新工作簿,添加了43000行数据(这很快),并逐个添加所有公式(通过复制公式文本,而不仅仅是复制/粘贴单元格)。保存并重新打开工作簿后,它再次损坏。
我已经尝试了10000行,这很好。大约18000行,这个问题再一次让人头疼。我还删除了表格中的所有格式,但这没有任何区别。
这是一个已知问题吗?你们中的任何人都知道表格是否有安全的行/单元格/复杂性限制?我应该向微软发布一个错误报告,还是这个自我造成的? :)
ADDED
感谢@Jeeped我已经使用.XLSB格式研究了它的行为,并且在该格式下文件很好。重新保存为.XLSX,文件立即被损坏"再次 - 即Excel打开它时实际上崩溃了。使用XMLStarlet检查它时,工作表本身的XML似乎是有效的(它包含1250万个元素);它可能是Excel加载例程中的一个错误?
答案 0 :(得分:1)
经过多次尝试后,我确信这是Excel加载例程中的一个错误。当我将表推到某个限制时,生成的文件将不再打开,导致Excel崩溃或告诉我工作簿已损坏。在问题中提到的文件中,限制发生在大约20000行。但是:
所以,我想除了希望微软有一天能解决这个问题并且同时应用变通方法之外别无其他解决方案。