Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel::Writer::XLSX(Perl)工作表简介_Perl_Worksheet_Introspection_Excel Writer Xlsx - Fatal编程技术网

Excel::Writer::XLSX(Perl)工作表简介

Excel::Writer::XLSX(Perl)工作表简介,perl,worksheet,introspection,excel-writer-xlsx,Perl,Worksheet,Introspection,Excel Writer Xlsx,一段时间以来,我一直想知道这个模块是否/何时能够获得一些内省能力,而不仅仅是对对象进行黑客攻击 例如: 一旦一个工作表被写入,我如何知道查询工作表对象以知道它有多少行和列 我想做的是写一些工作表,然后返回到每个工作表,并为它们写更多的行。我可以自己跟踪最后一行/列,但在此之前,我想知道是否可以在最后一个工作簿->关闭之前从已经编写的对象中获取数据 我想我可以在sheet对象的_表散列中计算键的数量,但这可能太接近金属而不是“正式的”。我记得John在CPAN文档中说过不要这样做 我可以自己跟踪最

一段时间以来,我一直想知道这个模块是否/何时能够获得一些内省能力,而不仅仅是对对象进行黑客攻击

例如:

一旦一个工作表被写入,我如何知道查询工作表对象以知道它有多少行和列

我想做的是写一些工作表,然后返回到每个工作表,并为它们写更多的行。我可以自己跟踪最后一行/列,但在此之前,我想知道是否可以在最后一个工作簿->关闭之前从已经编写的对象中获取数据

我想我可以在sheet对象的_表散列中计算键的数量,但这可能太接近金属而不是“正式的”。我记得John在CPAN文档中说过不要这样做

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

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


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

欢迎:)您可以添加一些您已经尝试过的代码来丰富和澄清您的问题吗?另请参见作者非常善于沟通,经常在这里回答问题。如果你有这样的具体问题,你可以直接给他发电子邮件。以我的经验来看,他对讨论非常开放。我的代码很简单:创建并编写一张表格。随后,通过询问工作表有多少行(而不是手动跟踪行),向工作表添加更多行。可以使用“最后一行是:”,完成Ii。(1+(排序{$a$b}键%{$sheet->{{u table}})[-1])。“\n”;但这正变得越来越亲密。在上一篇文章中,我很幸运地向John发送了消息,但我想我应该先问一下。关于黑匣子,这是很公平的,但为什么不至少使用两种“官方”方法来获取此类数据,因为这样做非常简单?对API的任何添加都是微不足道的。这一切都需要代码、测试、文档和一些预先考虑。这需要花费时间和精力在用户无法在自己的应用程序中实现的功能上。好的。当时间到来时,我很高兴自愿使用我为制作我需要制作的电子表格而开发的东西。