4e8a2413e473f4cdea151618273e505593af38fc.svn-base 22.8 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580
<?xml version='1.0' encoding='utf-8' ?>
<functions>
<category name="公共函數">
	<function name="if">
		<usage>條件判斷函數</usage>
		<para>條件,非零表示滿足條件</para>
		<para>條件滿足時的返回值</para>
		<para>條件未滿足時的返回值</para>
		<return>見參數</return>
		<example>=if(getDay(now())&lt;10, '上旬', if(getDay(now())&gt;=20,'下旬','中旬'))</example>
	</function>
	<function name="js">
		<usage>調用頁面的javascript函數</usage>
		<detail>反向調用當前頁面的JavaScript函數(“當前頁面”是指包容當前控件的頁面)</detail>
		<para>要調用的js函數名</para>
		<para>可選, 該js函數的第一個參數</para>
		<para>可選, 該js函數的第二個參數,以下以此類推...</para>
		<return>由js函數決定</return>
		<example>=js('getProd', '1', 'true')&lt;br&gt;當前頁面上應該有名為getProd的js函數,例如:&lt;br&gt;function getProd(index, isOpened)&lt;br&gt;{&lt;br&gt; ...&lt;br&gt; return 1;&lt;br&gt;}</example>
	</function>
</category>

<category name="數學函數">
	<function name="sum">
		<usage>求和</usage>
		<para>參數數量可任意</para>
		<return>數值</return>
		<example>=sum(1, 220, sum(22, 33))&lt;br&gt;在Report中,參數可以含有單元名,例如 sum(D4:D9, B5, B7)</example>
	</function>
	<function name="sumDim">
		<usage>數組求和</usage>
		<para>參數數量可任意,參數的形式是以某個字符分隔的多個數字</para>
		<return>和參數類似的形式</return>
		<memo>分隔符可以是除空格外的任意字符(或字符串),但必須保持一致</memo>
		<example>=sumDim("1.1 / 2.1 / 3",  "10 / 20 / 30")  返回的將是串"11.1 / 22.1 / 33"&lt;br&gt;在Report中,參數可以含有單元名,例如 sumDim(D4:D9)</example>
	</function>
	<function name="average">
		<usage>求平均值</usage>
		<para>參數數量可任意</para>
		<return>數值</return>
	</function>
	<function name="max">
		<usage>求最大值</usage>
		<para>參數數量可任意</para>
		<return>數值</return>
	</function>
	<function name="min">
		<usage>求最小值</usage>
		<para>參數數量可任意</para>
		<return>數值</return>
	</function>
	<function name="percent">
		<usage>求百分比</usage>
		<para>數字</para>
		<para>可選, 小數位數,默認為0</para>
		<return>百分比串,帶'%'符號</return>
		<example>=percent(0.12345, 2),返回值為串“12.35%”</example>
	</function>
	<function name="abs">
		<usage>絕對值</usage>
		<para>數字</para>
		<return>正數</return>
	</function>
	<function name="round">
		<usage>四舍五入</usage>
		<para>數字</para>
		<para>小數位數</para>
		<return>數值</return>
	</function>
	<function name="int">
		<usage>取整</usage>
		<para>數字</para>
		<return>整數</return>
	</function>
	<function name="mod">
		<usage>求余數</usage>
		<para>被除數</para>
		<para>除數</para>
		<return>余數</return>
	</function>
	<function name="floor">
		<usage>小于n(參數)的最大整數</usage>
		<para>數字</para>
		<return>整數</return>
	</function>
	<function name="ceil">
		<usage>大于n(參數)的最小整數</usage>
		<para>數字</para>
		<return>整數</return>
	</function>
	<function name="sqrt">
		<usage>平方根</usage>
		<para>數字</para>
		<return>數值</return>
	</function>
	<function name="exp">
		<usage>e的n次冪</usage>
		<para>數字</para>
		<return>數值</return>
	</function>
	<function name="log">
		<usage>log</usage>
		<para>數字</para>
		<return>數值</return>
	</function>
	<function name="log10">
		<usage>以10為底的log</usage>
		<return>數值</return>
	</function>
	<function name="pow">
		<usage>n(參數)的n次方</usage>
		<para>底數</para>
		<para>冪數</para>
		<return>數值</return>
	</function>
	<function name="rand">
		<usage>隨機數</usage>
		<return>0 - 0.99</return>
	</function>
</category>

<category name="文字函數">
	<function name="len">
		<usage>取串長度(字數)</usage>
		<para>串</para>
		<return>數值</return>
		<example>=len('字符串12'),返回值5</example>
	</function>
	<function name="left">
		<usage>取串的左n個字</usage>
		<para>串</para>
		<para>字數</para>
		<return>串</return>
	</function>
	<function name="right">
		<usage>取串的右n個字</usage>
		<para>串</para>
		<para>字數</para>
		<return>串</return>
	</function>
	<function name="mid">
		<usage>取串的中間若干個字</usage>
		<para>串</para>
		<para>位置(從0開始)</para>
		<para>字數</para>
		<return>串</return>
	</function>
	<function name="indexOf">
		<usage>取子串在串中的位置</usage>
		<para>串</para>
		<para>子串</para>
		<para>可選, 開始查找位置,默認為0</para>
		<para>可選, 大小寫是否敏感,默認為0(即不敏感)</para>
		<return>位置,從0開始,-1表示未找到</return>
	</function>
	<function name="endWith">
		<usage>串是否以某子串結尾</usage>
		<para>串</para>
		<para>子串</para>
		<para>可選, 大小寫是否敏感,默認為0(即不敏感)</para>
		<return>1/0, 表示是/否</return>
	</function>
	<function name="compare">
		<usage>比較2個串</usage>
		<para>串1</para>
		<para>串2</para>
		<para>可選, 大小寫是否敏感,默認為0(即不敏感)</para>
		<return>整數,0表示相等;大于0表示串1大于串2;小于0表示串1小于串2</return>
	</function>
	<function name="replace">
		<usage>替換串的中間若干個字</usage>
		<para>串</para>
		<para>位置(從0開始)</para>
		<para>長度</para>
		<para>替換的串</para>
		<return>被替換后的串</return>
	</function>
	<function name="replaceAll">
		<usage>替換串的中某些子串</usage>
		<para>串</para>
		<para>需要被替換的串</para>
		<para>替換的新串</para>
		<return>被替換后的串</return>
		<example>=replaceAll('ABCA', 'A', '02'),返回值為串“02BC02”</example>
	</function>
	<function name="toLowerCase">
		<usage>把串中的英文轉換為小寫</usage>
		<para>串</para>
		<return>串</return>
	</function>
	<function name="toUpperCase">
		<usage>把串中的英文轉換為大寫</usage>
		<para>串</para>
		<return>串</return>
	</function>
	<function name="trim">
		<usage>除去串的首尾空格、或任意串</usage>
		<para>串</para>
		<para>可選,要除去的串,默認空格</para>
		<return>串</return>
	</function>
	<function name="trimLeft">
		<usage>除去串的左側空格、或任意串</usage>
		<para>串</para>
		<para>可選,要除去的串,默認空格</para>
		<return>串</return>
	</function>
	<function name="trimRight">
		<usage>除去串的尾部空格、或任意串</usage>
		<para>串</para>
		<para>可選,要除去的串,默認空格</para>
		<return>串</return>
	</function>
	<function name="encodeURI">
		<usage>對文字進行URI編碼</usage>
		<para>串</para>
		<return>串</return>
		<memo>encodeURI不會對數字、字母和“-_.!~*'()”進行編碼,也不會對有特殊含義的“;/?:@=+$,#&amp;”進行編碼</memo>
		<example>=encodeURI('http://www.supcan.cn/supcan?val=碩正RIA'),返回值為串“http://www.supcan.cn/supcan?val=%e7%a1%95%e6%ad%a3RIA”</example>
	</function>
	<function name="encodeURIComponent">
		<usage>對更多文字進行URI編碼</usage>
		<para>串</para>
		<return>串</return>
		<memo>和encodeURI的唯一差別是:會對有特殊含義的“;/?:@=+$,#&amp;”進行編碼</memo>
		<example>=encodeURIComponent('碩正RIA'),返回值為串“%e7%a1%95%e6%ad%a3RIA”</example>
	</function>
	<function name="englishNum">
		<usage>英文數字</usage>
		<para>數字</para>
		<return>串</return>
		<example>=englishNum(10123.24),返回值為串“ten thousand one hundred and twenty three point twenty four”</example>
	</function>
	<function name="chineseNum">
		<usage>中文大寫</usage>
		<para>0至9之間的數字,允許有多個數字</para>
		<para>1 表示普通的中文大寫,0或忽略該參數表示中文金額的大寫</para>
		<return>串</return>
		<example>=chineseNum(123) 返回值為串“壹貳叁”;  =chineseNum(123, 1) 返回值為串“一二三”</example>
	</function>
	<function name="RMB">
		<usage>人民幣大寫</usage>
		<para>數字</para>
		<return>串</return>
		<example>=rmb(10123.24),返回值為串“壹萬零壹佰貳拾叁元貳角肆分”</example>
	</function>
	<function name="formatDate">
		<usage>按指定掩碼表示日期</usage>
		<para>日期串</para>
		<para>掩碼,如'YYYY.MM.DD hh:mm:ss'、'YY年度'.&lt;br&gt;
上面的Y、M、D、h、m、s為掩碼保留字,次序位置無規定,其含義說明如下:&lt;br&gt;
Y - 年,YYYY表示4位顯示, YY表示顯示后2位;&lt;br&gt;
M - 月,MM表示2位顯示,不足2位的左側以'0'填補;&lt;br&gt;
D - 日,DD表示2位顯示,不足2位的左側以'0'填補;&lt;br&gt;
Month(或Mon) - 英文的月份;&lt;br&gt;
Month.(或Mon.) - 英文的月份縮寫;&lt;br&gt;
Day - 英文的星期;&lt;br&gt;
Day. - 英文的星期縮寫;&lt;br&gt;
h - 小時,hh表示2位顯示,不足2位的左側以'0'填補;&lt;br&gt;
m - 分鐘,mm表示2位顯示,不足2位的左側以'0'填補;&lt;br&gt;
s - 秒,ss表示2位顯示,不足2位的左側以'0'填補;&lt;br&gt;
</para>
		<return>串</return>
		<example>=formatdate(now(), 'YYYY年MM月DD日'),返回值例如“2010年08月05日”&lt;br&gt;
=formatdate(now(), 'YYYY年M月D日'),返回值例如“2010年8月15日”&lt;br&gt;
=formatdate(now(), 'D, Month YYYY, day'),返回值例如“15, August 2010, Sunday”
		</example>
	</function>
	<function name="formatNum">
		<usage>按指定掩碼表示數值</usage>
		<para>數值</para>
		<para>掩碼,如'#,##0.00'、'共:#.00# 噸'. 掩碼中'0'表示固定位、'#'表示任意位、','表示千位符.</para>
		<example>=formatNum(12345.6, '#,##0.00'),返回“12,345.60”;&lt;br&gt;
=formatNum(0, '#.#'),返回空串;&lt;br&gt;
=formatNum(0, '#,##0.00'),返回"0.00";&lt;br&gt;
=formatNum(123456, '編碼 00 - 00 - 00 - 00'),返回"編碼 00 - 12 - 34 - 56";&lt;br&gt;
=formatNum(1234.5678, '00.00'),返回"34.56";&lt;br&gt;
		</example>
		<memo>最常用的掩碼為"#,##0.00",表示小數始終顯示2位、整數部分任意但至少有1位、且以千位符分隔.</memo>
		<return>串</return>
	</function>
	<function name="chineseDate">
		<usage>中文的日期表示</usage>
		<para>日期串</para>
		<para>可選, 掩碼,默認是'YYYY年MM月DD日'</para>
		<return>串</return>
	</function>
	<function name="chineseBankDate">
		<usage>中國銀行的日期表示</usage>
		<para>日期串</para>
		<para>格式,默認是'YYYY年MM月DD日'</para>
		<return>串</return>
		<example>=chineseBankDate(now()),返回值例如“貳零壹零年零捌月壹拾伍日”</example>
	</function>
</category>

<category name="日期函數">
	<function name="dateDifYears">
		<usage>2個日期的年度之差</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>數值</return>
	</function>
	<function name="dateDifMonths">
		<usage>2個日期的月份之差</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>數值</return>
		<example>=dateDifMonths('2010.1.19', '2010.12.21'),返回11</example>
	</function>
	<function name="dateDifDays">
		<usage>2個日期的天數之差</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>數值</return>
	</function>
	<function name="dateDifHours">
		<usage>2個日期的小時之差</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>數值</return>
	</function>
	<function name="dateDifMinutes">
		<usage>2個日期的分鐘數之差</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>數值</return>
	</function>
	<function name="dateAddYears">
		<usage>日期增加若干年</usage>
		<para>日期</para>
		<para>數字</para>
		<return>新的日期</return>
	</function>
	<function name="dateAddMonths">
		<usage>日期增加若干月</usage>
		<para>日期</para>
		<para>數字</para>
		<return>新的日期</return>
	</function>
	<function name="dateAddDays">
		<usage>日期增加若干天</usage>
		<para>日期</para>
		<para>數字</para>
		<return>新的日期</return>
	</function>
	<function name="dateAddHours">
		<usage>日期增加若干小時</usage>
		<para>日期</para>
		<para>數字</para>
		<return>新的日期</return>
	</function>
	<function name="dateAddMinutes">
		<usage>日期增加若干分鐘</usage>
		<para>日期</para>
		<para>數字</para>
		<return>新的日期</return>
	</function>
	<function name="getYear">
		<usage>取某日期的年度</usage>
		<para>日期</para>
		<return>數值</return>
	</function>
	<function name="getMonth">
		<usage>取某日期的月份</usage>
		<para>日期</para>
		<return>數值</return>
	</function>
	<function name="getDay">
		<usage>取某日期的日期號</usage>
		<para>日期</para>
		<return>數值</return>
	</function>
	<function name="GetHour">
		<usage>取某日期時間型串的小時</usage>
		<para>日期</para>
		<return>數值</return>
	</function>
	<function name="getMinute">
		<usage>取某日期時間型串的分鐘</usage>
		<para>日期</para>
		<return>數值</return>
	</function>
	<function name="now">
		<usage>取當前日期</usage>
		<para>可選, 格式掩碼,默認是'%Y.%m.%d %H:%M:%S',掩碼含義如下(注意大小寫):&lt;br&gt;
%Y - 4位數字的年;&lt;br&gt;
%y - 2位數字的年;&lt;br&gt;
%m - 月份(01至12);&lt;br&gt;
%d - 月中的某日(01至31);&lt;br&gt;
%H - 小時(24小時制,00至23);&lt;br&gt;
%I - 小時(12小時制,01至12);&lt;br&gt;
%M - 分鐘(00至59);&lt;br&gt;
%S - 秒鐘(00至59);&lt;br&gt;
%p - AM/PM表示上午/下午;&lt;br&gt;
%x - 日期的英文普遍寫法;&lt;br&gt;
%X - 時間的英文普遍寫法;&lt;br&gt;
%c - 日期時間的英文普遍寫法;&lt;br&gt;
%b - 月份的英文縮寫;&lt;br&gt;
%B - 月份的英文全稱;&lt;br&gt;
%a - 星期的英文縮寫;&lt;br&gt;
%A - 星期的英文全稱;&lt;br&gt;
%w - 數字表示的星期(0至6, 0是星期天);&lt;br&gt;
%j - 相對于1月1日的日期差(001至366);&lt;br&gt;
%Z - 和GMT(或UTC)時區的時差;&lt;br&gt;
選項:&lt;br&gt;
/Z - 轉換為GMT(或UTC)時間;&lt;br&gt;
</para>
		<return>日期串</return>
		<example>以北京時間2011.1.20 08:00:00為例:&lt;br&gt;now("%Y.%m.%dT%H:%M:%S%Z")將顯示為 2011.01.20T08:00:00+08:00&lt;br&gt;now("%Y.%m.%dT%H:%M:%SZ/Z")將顯示為 2011.01.20T00:00:00Z</example>
	</function>
	<function name="compareDate">
		<usage>比較2個日期大小</usage>
		<para>日期1</para>
		<para>日期2</para>
		<return>1、0或-1,分別表示大于、等于或小于</return>
	</function>
	<function name="firstDateOfMonth">
		<usage>取得某日期的月初日期</usage>
		<para>日期</para>
		<return>日期</return>
	</function>
	<function name="firstDateOfSeason">
		<usage>取得某日期的季初日期</usage>
		<para>日期</para>
		<return>日期</return>
		<example>假如今天是2012.9.5, firstDateOfSeason(now( )) 將返回 “2012.7.1 00:00:00”</example>
	</function>
	<function name="firstDateOfYear">
		<usage>取得某日期的年初日期</usage>
		<para>日期</para>
		<return>日期</return>
		<example>假如今天是2012.9.5, firstDateOfYear(now( )) 將返回 “2012.1.1 00:00:00”</example>
	</function>
	<function name="lastDateOfMonth">
		<usage>取得某日期的月末日期</usage>
		<para>日期</para>
		<return>日期</return>
	</function>
	<function name="lastDateOfSeason">
		<usage>取得某日期的季末日期</usage>
		<para>日期</para>
		<return>日期</return>
		<example>假如今天是2012.8.5, lastDateOfSeason(now( )) 將返回 “2012.9.30 23:59:59”</example>
	</function>
	<function name="lastDateOfYear">
		<usage>取得某日期的年末日期</usage>
		<para>日期</para>
		<return>日期</return>
		<example>假如今天是2012.8.5, lastDateOfYear(now( )) 將返回 “2012.12.31 23:59:59”</example>
	</function>
</category>

<category name="Treelist專用函數">
	<function name="isNull">
		<usage>判斷某單元格內容是否為null</usage>
		<para>列名,如果為串"data", 則表示自己(當前列)</para>
		<return>1/0 - 是/否</return>
		<memo>1.僅用于Treelist的表達式中;&lt;br&gt;
2.參數必須以引號圍繞,例如 isNull('price'),否則將無法計算;&lt;br&gt;
3.參數可以帶 @origin 宏,表示取原始數據,例如 isNull('price@origin');&lt;br&gt;
4.只支持數值型、日期型的列,對string列無效;&lt;br&gt;
5.本函數一般用于需要精確判斷 0 或 null 的特定場合,在大多數情況下,直接用 price==0 判斷即可,比如表達式: if(price==0, '未輸入', data),  不管price的值為0或為null, 等式 "price==0" 均是成立的;&lt;br&gt;
</memo>
		<example>例一.列的屬性定義:   displayMask="if(isNull('price'), '未輸入', data)"&lt;br&gt;
例二.執行js過濾:  var s = AF.func("FindAll", "isNull('price')");
</example>
	</function>
</category>

<category name="Report專用函數(1)">
	<function name="ref">
		<usage>單元格引用函數(僅用于Supcan Report)</usage>
		<para>行號</para>
		<para>列號</para>
		<para>可選, 工作表序號(從1開始計數), 默認是當前工作表</para>
		<return>單元格內容</return>
		<memo>為了方便,允許直接用單元名(如B3、C8)代替本函數</memo>
		<example>=ref(3,2),等同于 =B3&lt;br&gt;=ref(3,2,1),等同于=B3@sheet1&lt;br&gt;=sum(ref(1,2,3,4,5)),等同于=sum(B1:D3@sheet5)&lt;br&gt;注:"@sheet"的含義請參見下面的“宏”</example>
	</function>
	<function name="ref(高級用法)">
		<usage>從其它報表引用數據(僅用于Supcan Report)</usage>
		<para>行號</para>
		<para>列號</para>
		<para>其它報表的絕對URL或相對URL(相對于當前頁面)</para>
		<para>可選, 工作表序號(從1開始計數), 默認第一張工作表</para>
		<para>可選, 1 表示該表加載后需要先經過計算處理,默認是 0</para>
		<return>單元格內容</return>
		<example>=ref(3,2, "../reports/reportfin2.xml", 8, 1); 表示從"../reports/reportfin2.xml"報表的第八個工作表取數,報表是需要先計算的.</example>
	</function>
	<function name="refAlias">
		<usage>引用某別名的單元格(僅用于Supcan Report)</usage>
		<para>別名</para>
		<para>可選, 工作表序號(從1開始計數), 默認是當前工作表</para>
		<para>可選, 其它報表的絕對URL或相對URL(相對于當前頁面)</para>
		<para>可選, 1 表示該表加載后需要先經過計算處理,默認是 0</para>
		<return>單元格內容</return>
		<memo>參數2、3的次序可以互換</memo>
		<example>=refAlias('price'), 等同于=@Aliasprice&lt;br&gt;=refAlias('price', 2), 等同于=@Aliasprice@sheet2&lt;br&gt;=refAlias('price', 1, "../reports/reportfin2.xml");&lt;br&gt;注:"@Alias"、"@sheet"的含義請參見下面的“宏”</example>
	</function>
	<function name="sumif(語法一)">
		<usage>按條件求sum(僅用于Supcan Report)</usage>
		<para>以冒號分隔的單元格區域</para>
		<para>條件表達式</para>
		<return>值</return>
		<memo>條件表達式的寫法比較靈活,里面可以內嵌函數、引用別的單元格,比如:&lt;br&gt;
&lt;b&gt;"data &gt; 100"&lt;/b&gt;, 變量 data 表示單元格的數據,也可以和Excel那樣,簡寫成 "&gt; 100";&lt;br&gt;
&lt;b&gt;"data &gt;= 100 + A5"&lt;/b&gt;, A5是單元格名,表示引用該單元格數據;&lt;br&gt;
</memo>
		<example>=sumif(A2:B20, "&gt;200"); //對A2到B20區域內,數值大于200的內容求和&lt;br&gt;
=sumif(A2:B20, "data&gt;K20 and data!=K21"); //對A2到B20區域內,數值大于K20單元格數據、且不等于K21單元格的內容求和&lt;br&gt;
</example>
	</function>
	<function name="sumif(語法二)">
		<usage>按條件求sum(僅用于Supcan Report)</usage>
		<para>以冒號分隔的單元格區域,供條件判斷用</para>
		<para>條件表達式,參見 語法一 中的備注</para>
		<para>以冒號分隔的單元格區域,數據區</para>
		<return>值</return>
		<example>=sumif(A2:A20, "&gt;200", B2:B20); //A2到A20區域內,數值大于200的內容,對B2:B20對應內容求和&lt;br&gt;
=sumif(A2:A20, "left(data, 2)='CA'", B2:B20); //以“CA”開頭的單元格(A2到A20區域內容是字符串),對應到B2:B20區域內容求和&lt;br&gt;
=sumif(A2:@A2, "left(data, 2)='CA'", B2:@B2); //和上例同,只是區域是數據源的填入區
</example>
	</function>
	<function name="page">
		<usage>當前打印頁(僅用于Supcan Report)</usage>
		<return>頁碼,從1開始</return>
		<illu>請參見demo頁:15.分類匯總</illu>
	</function>
	<function name="pages">
		<usage>總共打印頁(僅用于Supcan Report)</usage>
		<return>總頁數</return>
		<illu>請參見demo頁:15.分類匯總</illu>
	</function>
</category>

<category name="Report專用函數(2):&lt;br&gt;數據源函數">
	<function name="dataRow">
		<usage>順序填入數據源中的數據行(僅用于Report組件)</usage>
		<para>數據源名, 如果是XML類型的臨時數據源,還可以在斜杠"\"后跟隨XML節點名</para>
		<para>可選, 可跟隨多個參數, 具體的參數由數據源規定</para>
		<example>=dataRow('ds1'); //表示在此處開始填入'ds1'數據源的數據&lt;br&gt;
=dataRow('ds1\\node1'); //表示在此處開始填入'ds1'XML數據源中node1節點的數據
</example>
	</function>
	<function name="headRow">
		<usage>填入數據源的標題行(僅用于Report組件)</usage>
		<para>數據源名, 如果是XML類型的臨時數據源,還可以在斜杠"\"后跟隨XML節點名</para>
		<para>可選, 可跟隨多個參數, 具體的參數由數據源規定</para>
		<example>=headRow('ds1'),表示本行從本單元格開始填入'ds1'數據源的列標題</example>
	</function>
	<function name="data">
		<usage>取得數據源中的單個數據(僅用于Report組件)</usage>
		<para>數據源名, 如果是XML類型的臨時數據源,還可以在斜杠"\"后跟隨XML節點名</para>
		<para>行號(從1開始計數)</para>
		<para>列號或列名</para>
		<para>可選, 可跟隨多個參數, 具體的參數由數據源規定</para>
		<return>數據源中的數據</return>
		<example>=data('ds1', 1, 'price'),表示本單元格(或本文本框)填入'ds1'數據源第一行、price列的數據</example>
	</function>
	<function name="head">
		<usage>取得數據源的單個標題(僅用于Report組件)</usage>
		<para>數據源名, 如果是XML類型的臨時數據源,還可以在斜杠"\"后跟隨XML節點名</para>
		<para>列號或列名</para>
		<para>可選, 可跟隨多個參數, 具體的參數由數據源規定</para>
		<return>標題串</return>
	</function>
	<function name="dataRows">
		<usage>取得數據源總行數(僅用于Report組件)</usage>
		<para>數據源名, 如果是XML類型的臨時數據源,還可以在斜杠"\"后跟隨XML節點名</para>
		<para>可選, 可跟隨多個參數, 具體的參數由數據源規定</para>
		<return>數字</return>
	</function>
	<function name="dataRowNumber">
		<usage>填入數據源中的行號(僅用于Report組件)</usage>
		<memo>備注:同一行中,應該有包含dataRow( )函數的單元格</memo>
		<illu>請參見demo頁:26.從HTML Table數據源取數(2)</illu>
	</function>
</category>
</functions>