perl - Excel::Writer::XLSX (Perl) 工作表内省
问题描述
一段时间以来,我一直想知道这个模块是否/何时可以获得一些自省能力,而不仅仅是破解对象。
例如:
写入工作表后,我怎么知道查询工作表对象以了解它有多少行和列?
我想做的是写几张纸,然后回到每一张纸上,给它们写更多的行。我可以自己跟踪最后一行/列,但在我这样做之前,我想知道是否可以在最终工作簿->关闭之前从已经编写的对象中获取该数据。
我想我可以计算工作表对象的 _table 哈希中的键数,但这可能太接近金属而无法“官方”。我记得约翰在 CPAN 文档的某个地方说过不要这样做。
解决方案
我可以自己跟踪最后一行/列,但在我这样做之前,我想知道是否可以在最终工作簿->关闭之前从已经编写的对象中获取该数据。
不,那是不可能的。Excel::Writer::XLSX 不提供任何工具用于在数据通过 API 后对其进行内省。这是一个深思熟虑的设计决定。您应该将 Excel::Writer::XLSX 对象视为黑盒,而不是某种数据库。
做你想做的最好的方法是在你的程序中跟踪范围数据。
推荐阅读
- cmd - 我们如何在命令行中使用 SecEdit 进行安全审计?
- sql - 如何连接两个表并且只从第二个表中获取值(如果它们存在)?
- php - php while循环内的引导模式以显示不同的信息
- telegram-bot - Node-Red Telegram 通过两个机器人聊天
- python - 如何使用pandas python3从CSV的中间名列中获取中间名并写入新的CSV
- c# - C#屏幕录像机不合并音频
- google-cloud-storage - 我们如何将 2 TB Teradata(表大小)导出到 Google Cloud Storage
- ruby - Ruby:将文本从一个文件传输到另一个文件但无意中转换为中文?
- node.js - 在节点(Express)中的 mssql 查询回调中对用户定义的函数使用等待
- php - 与 SQLServer 连接 PDO