我正在使用 Perl 将一些数据自动导出到 xlsx 文件,特别是使用 Excel::Writer::XLSX 模块。如果某些已经创建的列是空的或不相关的,我希望它们被隐藏。虽然在某些情况下使用常用命令很容易完成:
$worksheet->set_column( 'I:J', undef, undef, 1);
在某些特定情况下,它们不会像预期的那样消失。经过多次尝试,结果发现问题可以通过改变它们原来的设置方式来解决。
例如,如果我这样创建它们:
$worksheet->set_column( 'I:I', 40 );
$worksheet->set_column( 'J:M', 60 );
$worksheet->set_column( 'N:N', 40 );
然后命令
$worksheet->set_column( 'K:N', undef, undef, 1);
只会隐藏列'N'。
解决方案是像这样创建它们
$worksheet->set_column( 'J:J', 60 );
$worksheet->set_column( 'K:M', 60 );
$worksheet->set_column( 'N:N', 40 );
所以它有效,但代码看起来很愚蠢,整个情况对我来说毫无意义。有谁知道为什么会发生这种情况,如果是,那么还有其他解决方案吗?