Cognos导出报告到Excel 2007的时候始终在65000行分页。然而Excel 2007支持100万行数据,推测是由于以前Excel只支持65000行每页,所以Cognos在导出到Excel的时候做了每页行数的限制。而现在的Excel已经支持100万行,但是Cognos并没有做出调整。
IBM对这个问题有官方解释吗?谢谢!
IBM官方的解释:
Microsoft Excel 2007 报表输出的更大工作表大小
对于以 Microsoft Excel 2007 格式导出的报表输出,IBM® Cognos® Business Intelligence 现在支持更大的工作表大小。
在先前版本的 IBM Cognos Business Intelligence 中,Microsoft Excel 格式的报表输出被限制为 256 列 x 65,000 行。尽管这仍然是默认工作表大小,但管理员现在可以启用更大的工作表,并可通过使用高级服务器属性来更改工作表中的最大行数 - 最大为 16,384 列 x 1,048,576 行。 此数字与 Microsoft Excel 2007 工作表大小限制相匹配。
有关更多信息,请参阅《IBM Cognos Business Intelligence 管理和安全性指南》。
收起qinxinxu大牛的解答:
秦昕旭 软件架构设计师 , 中软国际(昆明)
excel最大行数,不同版本有所不同。
Excel2003版最大行数是65536行。Excel2007开始的版本最大行数是1048576行。
Excel2003的最大列数是256列,2007以上版本是16384列。
激活a1单元格,按CTRL+SHIFT+右箭头,选择1行所有单元格,输入=COLUMN(),按ctrl+enter填充,鼠标移到1行最后一个单元格,看到的数字就是Excel当前版本的最大列数。
关于Excel最大行列数引申出来的一个小实例:A列最后一个非空单元格的值。
比如一列数的最后一个数往往用于计算合计数或代表整列某个性质的值,所以往往需要取这个数,然而有时这个数是在列中不固定的行上。所以需要取一列数的最后一个非空的值的函数。假如需要提取A列中最后一个非空单元格的数值,可以使用这个数组公式:
=INDIRECT(\"a\"&MAX(IF(A$2:A$65536=\"\",0,1)*ROW(A$2:A$65536)))。
输入公式后,必须按下ctrl+shift+enter三键结束。这里用到数组函数的公式,其中的大括号“{}”不是录进去的,是录入公式后按CTRL+SHIFT+回车自动产生的。
公式的原理:通过数组公式把非空白的格算为1,空白的算为0;再分别乘以行号,得出一个新数组。
excel最大行列数总结:在 Excel 2010 和 Excel 2007 中,工作表的大小为 16,384 列 × 1,048,576 行,在 Excel 97-2003 中,工作表的大小为 256 列 × 65,536 行。在 Excel 中,超出最大行列数单元格中的数据将会丢失。
里面还有图,完整的讨论可以看这个帖子:
http://www.cognoschina.net/Question/34865