有一段时间我想知道这个模块是否/何时可以获得一些内省能力,而不仅仅是黑客攻击对象。
例如:
写入工作表后,如何查询工作表对象以了解其有多少行和列等信息?
我想做的是写很多张纸,然后返回每张纸并写入更多行。我可以自己跟踪最后一行/列,但在这样做之前,我想知道是否可以在最后的
workbook->close
之前从已写入的对象中获取该数据。
我认为我可以计算工作表对象的
_table
散列中的键数,但这可能太接近金属而无法成为“官方”。我记得 John 在 CPAN 文档中的某个地方说过不要这样做。
我可以自己跟踪最后一行/列,但在这样做之前,我想知道是否可以在最终工作簿 -> 关闭之前从已写入的对象中获取该数据。
不。那是不可能的。 Excel::Writer::XLSX 不提供任何工具来在数据跨越 API 后进行内省。这是一个经过深思熟虑的设计决定。您应该将 Excel::Writer::XLSX 对象视为黑匣子而不是某种数据库。
实现您想要的效果的最佳方法是跟踪程序中的范围数据。
我意识到这是一篇旧帖子,但是......
在查看用于
Excel::Writer::XLSX
的各种软件包时,我发现了 _dim_rowmax
。
即
$ws->autofilter( 0, 0, $ws->{_dim_rowmax}, 28 );
我认为
_
是为了指示私有变量,但它似乎有效。
我正在创建一个脚本,以便能够为 XLSX 文件实现与
Spreadsheet::ParseExcel::SaveParser
相同的功能。