5.工具条功能号

通过上面的CallFunc函数可以调用工具条中的各个功能，各个工具条中的功能号规则如下：

5.1.主工具条 ( )：

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
102 | 新建报表 | 如果没有参数，表示直接打开对话框，就像鼠标点击工具条一样; 如果含有参数，则不打开对话框，而是直接建立新表，参数规则如下： name=[?]; rows=[?];cols=[?]; rowheight=[?]; colwidth=[?]; filename=[?], 含义如下： name - 工作表名; rows/cols - 总行数/列数; rowheight/colwidth - 行高/列宽 filename - 本地的XML全文件名, 可以不指定 示例： AF.func("callfunc", "102 \r\n name=我的工作表;rows=20;cols=8");
103 | 弹出打开报表文件的对话框 | 如果没有参数，就表示像鼠标点击工具条一样；如果有参数，那么参数格式为: type=[?];Dir=[?], 含义如下： type - xml 或 xlsx、xls，表示对话框默认的文件类型; dir - 本地文件目录，表示对话框的初始目录定位; isWithFormula - true/false, 含义为当打开 xlsx、xls 文件时，是否导入计算公式, 默认是true
104 | 保存报表 | 文件名，用于强制指定文件名，文件类型可以是xml、zip

1074

报表另存为

如果没有参数，表示直接打开对话框，就像鼠标点击工具条一样; 如果含有参数，参数格式为 "Filename=[?]; WorkSheets=[?]; isReturnContent=[?]; isSaveCalculateResult=[?]"，这些参数均可选.
Filename - 本地文件名, 可以是全文件名，也可以不包含路径，如果不含路径，则会生成到 BC\Temp 下。指定文件名后将不会弹出文件选择对话框;
WorkSheets 或 WorkSheet- 指定工作表顺序号，用于有多工作表的情形，如果需要多个工作表，需以逗号分隔，指定工作表顺序号后将不会弹出工作表选择对话框;
isReturnContent - 如果为true, 表示函数返回的不是文件名，而是内容本身的XML串, 默认是false. 如果 isReturnContent = true, 那么 Filename 就不需要指定了，也不会弹出文件选择对话框, 因为不输出到文件了;
isSaveCalculateResult - true/false, 是否将数据源填入的数据也一起保存，默认值是该报表属性中的同名选项;
示例：
var filename = AF.func("callfunc", "1074\r\n WorkSheets=3,5"); 　//表示将第四、第六工作表另存
返回值：
含路径的全文件名, 或 XML 串 (在 isReturnContent=true 时)

105

转换输出.

如果没有参数，表示直接打开转换输出对话框，就像鼠标点击工具条一样; 如果含有参数，则不打开对话框，而是直接生成转换文件，并返回文件名，参数格式分数据文件和图像文件二种。

### 1.数据文件

参数格式为："Type=[?]; asData=[?]; includeHide=[?]; gridLine=[?];filename=[?];isForMobile=[?];isReturnContent=[?]"
Type是输出文档格式，有xlsx, xls, htm, mht, doc, txt, xml, dif, rtf 这几种;
asData 为 true 表示输出纯数据，否则是包含了格式掩码的数据(比如含千位符)，默认false;
includeHide 表示是否包含隐藏行、隐藏列，默认false;
gridLine 表示是否是否显示表格线，仅用于XLS，默认false;
includeFormula 用于 xlsx、xls 格式的转换，表示是否连公式一起转换, 默认是true.
filename 要生成的全文件名，如果文件名为空或没有指定目录，则文件生成到硕正的临时目录 (BC\Temp) 下.
如果转换格式是 xlsx 或 xls, 则还可以有如下选项：
WorkSheet 工作表范围, all - 全部工作表, current - 当前工作表，默认是全部工作表.
如果转换格式是 htm, 则还可以有如下选项, 主要用于服务器专版的移动端展现功能：
isForMobile 是否用于手机客户端 (服务器专版), 该选项将对转换输出作优化, 比如采用单一字体、减少格式冗余, 默认是false;
isReturnContent 如果为true, 表示函数返回的不是文件名，而是内容本身的字符串, 默认是false;
isUsingDefineFormat 是否套用报表属性对话框中“当前工作表属性(3)”中指定的格式转换, 默认是 true;
Template 指定模板文件，可以是URL、或文件，用于服务器专版，详细说明请参考开发文档 "服务器专版" 中的 "9.报表转换模板";
isQueryPage 是否用于转换一体化查询的 jQuery Mobile查询条件页，请看 "服务器专版" 中的 "9.报表转换模板";
uploadURL 用于生成上报汇总模式的 html, 当手机端输入后，用 ajax 把 XML 数据发往该目的地，详细说明请参考开发文档“服务器专版”中的“9.3.上报汇总模板”；

### 2.图像文件

参数格式为："Type=[?]; Scale=[?]; Precision=[?];filename=[?];WorkSheet=[?]"
Type是输出文档格式，有pdf, jpg, bmp, gif, png, tif 这6种，默认是jpg;
ExportAsPrint, true - 按打印预览的分页方式输出; false - 按显示尺寸(和打印无关)输出.
Scale是打印比例，范围是10 到 400，默认100。对于PDF而言，Scale越大越清晰，例如300表示在300%的显示比例下仍很清晰;
Precision是JPG精度，仅对JPG有效，精度范围1-100(默认85)，越接近100越清晰，但文件尺寸越大.
filename 要生成的全文件名，如果文件名为空或没有指定目录，则文件生成到硕正的临时目录 (BC\Temp) 下.
WorkSheet 工作表范围, all - 全部工作表, current - 当前工作表，默认是当前工作表.
示例：
var filename = func("callfunc", "105\r\nType=jpg; Scale=100; Precision=85");
返回值：
均为输出文件名(含路径的全文件名)，由于图像文件是分页输出的，所以象jpg、bmp这些格式可能会有多个文件名(PDF除外)，文件名间以回车分隔，空串表示转换过程有错误.
备注：
1.如果无法确定输出文件位置、希望能弹出对话框让用户选择文件目录，那么请先调用全局函数 FileDialog;
2.如果指定了 filename 参数，则 Type 参数可以省去，因为插件也能根据文件名后缀辨认类型的.

100 | 报表属性设置 |
189 | 关于 |
20 | 20 | 复制 |
31 | 剪切 |
32 | 34 | 粘贴格式和文字 |
35 | 仅粘贴文字 |
106 | Undo |
107 | 427 | 查找 |
426 | 替换 |

2.打印工具条 ( )：

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
11 | 11 | 打印报表 | 请参考 Print( ) 函数
318 | 转换为PDF或图片文件 | 请参考功能号105(转换输出)
216 | 打印设置 |
18 | 打印预览 |

3.常用功能工具条 ( )：

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
110 | 单元合并 |
162 | 求和 |
164 | 计算器 |
163 | 163 | 重新计算 |
260 | 除数据源外，重新计算 |
630 | 仅计算当前工作表 |
786 | 仅计算当前单元格 |
140 | 140 | 打开数据源对话框 |
536 | 自定义显示列 | 数据源的ID, 或数据源的顺序号
537 | 自定义排序 | 同上
116 | 自定义超链接 | 同上
395 | 数据分类汇总 | 同上
520 | 交叉表 | 同上
143 | 清理从数据源填入的数据 | 如果参数是 true, 表示同时清理表头的信息
717 | 全屏显示 | 0-自动，1-退出全屏, 2-进入全屏
4 | 折叠/展开工具条 |

4.工具箱工具条 ( )：

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
301 | 打开工具箱 | 参数可以为1、2、3、4、5，分别表示将当前页定位在属性、计算公式、数据源、字典、上报的指标库页
2 | 2 | 单元格显示计算公式 |
64 | 单元格显示计算结果 |
734 | 单元格显示计算公式、数据源标题 |
759 | 单元格显示别名 |
25 | 设置数据验证 |

50

执行数据验证

如果没有参数，就表示像鼠标点击工具条一样; 如果含有参数，参数格式为: range=[?];isReport=[?];isBeforeCalc=[?];isAfterCalc=[?];isIgnoreEmpty=[?], 其参数含义如下：
range - 表示工作表范围，空串或忽略该参数表示验证全部工作表；-1表示仅验证当前工作表; 0 到 n 或工作表名称，表示验证指定名称或次序的工作表;
isReport - true/one/false, 表示是否仅返回验证报告, true 表示返回全部错误, one 表示只要返回第一条错误即可, 默认是 false;
isBeforeCalc - 表示是否匹配标记为计算前的那部分验证, 默认是 false;
isAfterCalc - 表示是否匹配标记为计算后的那部分验证, 默认是 false;
isIgnoreEmpty - 如果为 true, 表示当没有发现验证条项时，无论如何都不弹出提示, 默认是 false;
返回值：如果 isReport = FALSE, 返回1表示通过验证, 0表示未通过，空串表示工作表不存在; 如果 isReport = true, 则返回验证报告串，空串表示全部通过验证;
示例:
var ErrStr = AF.func("callfunc", "50 \r\n isReport = true");
ErrStr = ErrStr.replace(/\r\n/g, "\\r\\n");
AF.func("MessageBoxFloat", ErrStr + "\r\n center=true;hold=20");

112

添加文本框

如果没有参数，就表示像鼠标点击工具条一样; 如果含有参数，则参数规则如下:
x=[?];y=[?];width=[?];height=[?]; alias=[?];text=[?] 或
x1=[?];y1=[?];x2=[?];y2=[?]; alias=[?];text=[?] 或
其中的 x / y / x1 / x2 / y1 / y2 / width / height为坐标参数，alias表示别名，text表示文本框的文字(也可以是计算函数)。
坐标参数含义及可用值语法为：
x / y 或 x1 / y1 - 左上角坐标, 可以是像素数，也可以是单元格名 (表示位于该单元格的左上角位置)，此外，如果是串"drag", 表示位置不固定，并将随即出现拖拽中的鼠标，效果如同点击该按钮;
x2 / y2 - 右下角坐标, 可以是像素数，或单元格名 (表示位于该单元格的右下角位置);
width / height - 宽度和高度, 像素数
备注：如果 x / y 使用像素单位，它们是相对于报表第一行、第一列左上角的, 和插件在页面的位置完全无关.
示例：
AF.func("callfunc", "112 \r\n x=drag; text=测试");

192 | 192 | 添加图片 | 同上，但有三个跟图片相关的参数：URL、IsSaveURLOnly、MaxSize, 其含义如下： URL - 图片的URL(也可以是本地的全文件名)； IsSaveURLOnly - 是否仅仅将图片的URL保存入到报表，默认是false； MaxSize - 限定图片尺寸，格式为宽度和高度的像素数，逗号分隔。当图片的宽度或高度超过时，将自动转换到该尺寸，以减小报表文件的尺寸，仅用于IsSaveURLOnly=false时。当设置了maxSize后，图片将按比例缩放，x2、y2、width、height参数可以省略； 示例： AF.func("callfunc", "192 \r\n x=drag; URL=../mylib/demo.jpg; maxSize=400,400");
17 | 添加图片(打开对话框) |
683 | 从剪切板粘贴图片 |
144 | 添加线条 | 同上，但有二个跟线条相关的参数：color、thick, 其含义如下： thick - 线条粗细，像素数，默认是1； color - 线条颜色；
478 | 添加统计图 |
382 | 添加树列表 | 同上，但有三个跟树列表相关的参数：URL、isSaveURLOnly、isBackGround, 其含义如下： URL - 树列表的URL(也可以直接是XML大串); isSaveURLOnly - true/false, 分别表示仅将URL保存到报表/把树列表的XML串储存到报表中, 默认是true； isBackGround - true/false, 分别表示树列表采用原始背景效果/采用白色背景， 默认是true.
274 | 274 | 格式刷 |
122 | 表格线橡皮 |

5.文字输入工具条 ( )：

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
541 | 公式/计算结果录入为主 | 如果没有参数表示切换, 否则: 1 - 公式录入为主; 2 - 计算结果录入为主
585 | 弹出公式引导输入对话框 |

6.不在工具条上的其它功能号

如下功能不在工具条上，部分在鼠标右键菜单中，也允许通过 callfunc 函数调用:

功能号 | 含义 | CallFunc函数参数
--- | --- | ---
404 | 自动调整行高，使文字能全部显示 |
405 | 自动调整列宽，使文字能全部显示 |
446 | 合并相同内容行 | 参数为列号，列号从0开始；也可以是多个列按大类、小类合并, 列号之间以逗号分隔
0 | 计算消息窗的打开方式 | 0－始终不打开；1-遇到计算有错误就打开
900 | 取得当前报表已打印的次数，返回值其实是整数 |
108 | 切换为分页显示 |
109 | 切换为常规显示 |
15 | 切换显示比例 | 参数可为20、50、80、100、150、200
309 | 切换上报模式时的普通输入和设定输入顺序. |
800 | 分析当前单元格数据构成. |