我使用 Perl 模块 Excel::Writer::XLSX。如果我在数据检查下直接在 excel 中输入该函数,它就可以工作。Perl 脚本的修改形式不起作用。
我的 Excel 文件中有一些工作表。在“数据验证”->“列表”下,我将其用作“源”:
=BEREICH.VERSCHIEBEN(Boden_Subtyp!$E:$G;1;VERGLEICH(Profil!$G$2;Boden_Subtyp!$E$1:$G$1;0)-1;ANZAHL2(INDEX(Boden_Subtyp!$E:$G;;VERGLEICH(Profil!$G$2;Boden_Subtyp!$E$1:$G$1;0)));1)
有用。
如果我在我的 Perl 脚本中以修改后的形式使用它来创建具有此功能的 Excel 文件,那么我将无法打开 Excel 文件。修改后的表格:
=BEREICH.VERSCHIEBEN('Boden_Subtyp'!$E:$G;1;VERGLEICH('Profil'!$G$2;'Boden_Subtyp'!$E$1:$G$1;0)-1;ANZAHL2(INDEX('Boden_Subtyp'!$E:$G;;VERGLEICH('Profil'!$G$2;'Boden_Subtyp'!$E$1:$G$1;0)));1)
代码截断:
$validate_source = "=BEREICH.VERSCHIEBEN('Boden_Subtyp'!$E:$G;1;VERGLEICH('Profil'!$G$2;'Boden_Subtyp'!$E$1:$G$1;0)-1;ANZAHL2(INDEX('Boden_Subtyp'!$E:$G;;VERGLEICH('Profil'!$G$2;'Boden_Subtyp'!$E$1:$G$1;0)));1)";
$profil_zugriffshash -> data_validation(
$iii,$spaltenzaehler,
{
validate => 'list',
source => "$validate_source",
}
);
如果创建了 Excel 文件,我将使用 Excel 打开它并得到错误:找到了 excel 的不可读内容...