T 函数输出时的问题

大佬们,麻烦看一下 T 函数输出时的问题,不知道是不是我理解的不对。

官方文档对 T(fn:A,Fi,…;s) 的描述是这样的:有参数 A 时,将参数 A 写入到文件 fn 中,其中 Fi 表示数据文件中的列标题,可以用 #1,#2,…表示第 1 列, 第 2 列,…,参数可省略;当 fn 是 xls 或者 xlsx 时,s 为 sheet 名。

根据上述定义,按我的理解,当函数 T 作为输出功能时,Fi 可以全字段输出,也可以选择某些字段输出。以下是我实际操作的结果:

1、当 Fi 参数省略,全字段输出时,结果完全符合预期,比如以下写法就会在主路径下生成一个 output.xlsx 文件,其中的工作表名称是 mySheet。这个没有问题。

imagepng

2、当选择性输出时,也就是输出其中的某些列,就会报错了,函数参数无效。此时,不管 Fi 参数写几个,甚至把字段名称写全,均会报错(只写 1 个报错会不一样,请看第 3 点),如下所示:

imagepng

但是,用 file(“output.xlsx”).xlsexport@t() 进行选择性输出是没有问题的,如下:

imagepng

3、用 T 函数输出时,发现了一个在函数文档里没有说明的情况,如果按下图所示的写法,会输出成一个加密工作簿,此时,二参是工作表名称,必须写成加双引号的文本形式时才会变成工作表表名,如果写成不加引号的字段名时会报错,写成数字时,不会报错,正常输出结果,但该数字不起任何作用,不是表名。三参是工作簿密码,数字或者文本均可。

imagepng

所以,存在以下疑惑:

  • T 函数输出时能不能选择某些字段输出?

  • 上述第三种用法是官方未公布的用法吗?

恳请大佬得闲时解惑。万分感谢!