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。这个没有问题。
2、当选择性输出时,也就是输出其中的某些列,就会报错了,函数参数无效。此时,不管 Fi 参数写几个,甚至把字段名称写全,均会报错(只写 1 个报错会不一样,请看第 3 点),如下所示:
但是,用 file(“output.xlsx”).xlsexport@t() 进行选择性输出是没有问题的,如下:
3、用 T 函数输出时,发现了一个在函数文档里没有说明的情况,如果按下图所示的写法,会输出成一个加密工作簿,此时,二参是工作表名称,必须写成加双引号的文本形式时才会变成工作表表名,如果写成不加引号的字段名时会报错,写成数字时,不会报错,正常输出结果,但该数字不起任何作用,不是表名。三参是工作簿密码,数字或者文本均可。
所以,存在以下疑惑:
-
T 函数输出时能不能选择某些字段输出?
-
上述第三种用法是官方未公布的用法吗?
恳请大佬得闲时解惑。万分感谢!
程序已更新,可前往 (下载贴) 中下载 esproc-bin.jar.
*T 函数输出是可以选择输出指定字段,程序问题已解决
* 第三种用法不存在,目前程序已经优化
已下载测试,works like magic!
谢谢大佬,大佬辛苦啦!
Have a nice day! Peace!