首页 > 解决方案 > Excel::Writer::XLSX (Perl) 工作表内省

问题描述

一段时间以来,我一直想知道这个模块是否/何时可以获得一些自省能力,而不仅仅是破解对象。

例如:

写入工作表后,我怎么知道查询工作表对象以了解它有多少行和列?

我想做的是写几张纸,然后回到每一张纸上,给它们写更多的行。我可以自己跟踪最后一行/列,但在我这样做之前,我想知道是否可以在最终工作簿->关闭之前从已经编写的对象中获取该数据。

我想我可以计算工作表对象的 _table 哈希中的键数,但这可能太接近金属而无法“官方”。我记得约翰在 CPAN 文档的某个地方说过不要这样做。

标签: perlworksheetintrospectionexcel-writer-xlsx

解决方案


我可以自己跟踪最后一行/列,但在我这样做之前,我想知道是否可以在最终工作簿->关闭之前从已经编写的对象中获取该数据。

不,那是不可能的。Excel::Writer::XLSX 不提供任何工具用于在数据通过 API 后对其进行内省。这是一个深思熟虑的设计决定。您应该将 Excel::Writer::XLSX 对象视为黑盒,而不是某种数据库。

做你想做的最好的方法是在你的程序中跟踪范围数据。


推荐阅读