数组公式允许您使用公式执行复杂任务。它们允许您一次计算多个单元格的值。您可以使用单个数组公式替换多个标准公式。
下载SpreadJS最新试用版
前言 | 问题背景
数组公式允许您使用公式执行复杂任务。它们允许您一次计算多个单元格的值。您可以使用单个数组公式替换多个标准公式。SpreadJS支持数组公式,如果允许用户创建公式,则可以在运行时输入公式后使用Ctrl + Shift + Enter创建数组公式,也可以使用setArrayFormula方法。导出或导入Excel格式的文件和JSON对象时,支持数组公式。
但使用数组公式具有以下限制:
- 数组公式不支持包含合并单元格的范围(range)。
- 当公式所在单元格属于一个范围(range)时,不允许修改。
- 剪切和复制适用于整个范围(range)。
- 无法在范围(range)的一部分中插入或删除列和行。
数组公式示例

数组公式JavaScript代码:使用setArrayFormula方法创建数组公式。
activeSheet.getCell(0,1).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(0,2).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(0,3).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(0,3).text("Result"); activeSheet.getCell(0,1).text("Column B"); activeSheet.getCell(0,2).text("Column C"); activeSheet.getCell(1,1).value(3); activeSheet.getCell(2,1).value(1); activeSheet.getCell(3,1).value(3); activeSheet.getCell(4,1).value(7); activeSheet.getCell(1,2).value(7); activeSheet.getCell(2,2).value(7); activeSheet.getCell(3,2).value(7); activeSheet.getCell(4,2).value(7); spread.canUserEditFormula(true); activeSheet.setArrayFormula(1, 3, 4, 1, "B2:B5*C2:C5");

activeSheet.getCell(0, 1).text("Value B"); activeSheet.getCell(0, 2).text("Value C"); activeSheet.getCell(6, 0).text("Sum (B*C if B < 5)"); activeSheet.getColumn(0).width(120); spread.canUserEditFormula(true); activeSheet.getCell(0,1).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(0,2).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(0,3).hAlign(GcSpread.Sheets.HorizontalAlign.center); activeSheet.getCell(1,1).value(4); activeSheet.getCell(1,2).value(3); activeSheet.getCell(2,1).value(2); activeSheet.getCell(2,2).value(2); activeSheet.getCell(3,1).value(5); activeSheet.getCell(3,2).value(7); activeSheet.getCell(4,1).value(6); activeSheet.getCell(4,2).value(2); activeSheet.setArrayFormula(6, 2, 1, 1, "Sum(IF(B2:B5<5,B2:B5*C2:C5))");

在单元格中键入的公式然后按Ctrl + Shift + Enter将公式更改为数组公式,如下图所示。

SpreadJS | 下载试用
纯前端表格控件SpreadJS,是市面上布局与功能都与 Excel 高度类似的一款表格控件,全中文操作界面,适用于.NET、Java、移动端等多个平台的类 Excel 数据开发,备受华为、中通、民航飞行学院等国内知名企业客户青睐。
标签:JavaScript 图表控件Spread
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!