spreadjs琛ㄥ崟璁剧疆 (spreadjs瀹炵幇鍦ㄧ嚎琛ㄦ牸)

前言

数组公式允许您使用公式执行复杂任务。它们允许您一次计算多个单元格的值。您可以使用单个数组公式替换多个标准公式。有关数组公式的一般信息,请访问 office 网站。SpreadJS 支持数组公式,如果允许用户创建公式,则可以在运行时输入公式后使用 Ctrl + Shift + Enter创建数组公式,也可以使用 setArrayFormula 方法。导出或导入Excel格式的文件和 JSON 对象时,支持数组公式。

但使用数组公式具有以下限制:

  • 数组公式不支持包含合并单元格的范围(range)。
  • 当公式所在单元格属于一个范围(range)时,不允许修改。
  • 剪切和复制适用于整个范围(range)。
  • 无法在范围(range)的一部分中插入或删除列和行。

数组公式示例

spreadjs表单设计图解,spreadjs表格控件

数组公式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");

spreadjs表单设计图解,spreadjs表格控件

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表格控件

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

spreadjs表单设计图解,spreadjs表格控件

关于葡萄城

赋能开发者!葡萄城公司成立于 1980 年,是全球领先的集开发工具、商业智能解决方案、管理系统设计工具于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。葡萄城的控件和软件产品在国内外屡获殊荣,在全球被数十万家企业、学校和政府机构广泛应用。