[]
• new Workbook(host?
, options?
)
带有指定宿主DOM容器或者DOM ID的表单及其可选设置
代码示例
// 初始表单(WorkSheet)为 3 个,并且不显示可以添加新表单的标签
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount:3, newTabVisible:false});
// 表单的标签不可编辑
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 3, tabEditable: false });
// 不显示标签栏
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount:3, tabStripVisible:false});
// 不允许用户调整大小
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount:3, allowUserResize:false});
// 不允许用户进行缩放
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), { sheetCount: 3, allowUserZoom: false});
属性名 | 类型 | 说明 |
---|---|---|
host? |
string | HTMLElement |
SpreadJS 所在的 DOM 容器或者 ID |
options? |
IWorkBookDefaultOptions |
- |
• contextMenu: ContextMenu
上下文菜单
代码示例
//本示例展示了如何获取上下文菜单
var menuData = spread.contextMenu.menuData;
• name: string
Spread的名称
代码示例
spread.name = "Spread1";
• options: IWorkbookOptions
控制选项
属性 allowUserDragMerge
-是否允许用户拖动合并单元格
属性 allowUserDragDrop
- 是否允许用户拖放区域数据
属性 allowUserDragFill
- 是否允许用户拖动填充区域
属性 allowUserZoom
-是否在按Ctrl键的同时滚动鼠标滚轮来缩放显示
属性 allowUserResize
- 是否允许用户调整列和行的大小
属性 allowUndo
-是否允许用户撤消编辑
属性 allowSheetReorder
- 用户是否可以在 SpreadJS 组件中重新排序表单
属性 allowContextMenu
- 是否允许用户打开内置上下文菜单
属性 allowUserDeselect
- 是否允许用户在选择中使用取消选择
属性 defaultDragFillType
- 默认填充类型
属性 showDragFillSmartTag
- 是否显示拖拽填充对话框
属性 showHorizontalScrollbar
- 是否显示水平滚动条
属性 showVerticalScrollbar
- 是否显示垂直滚动条
属性 scrollbarShowMax
- 显示的滚动条是否基于表单中的完整列数和行数
属性 scrollbarMaxAlign
- 滚动条是否与活动表单的最后一行和一列对齐
属性 tabStripVisible
- 是否显示表单选项卡条
属性 tabStripRatio
- 标签条的宽度占整个水平滚动条宽度的百分比
属性 tabStripWidth
- 标签条处于左边或右边位置时的宽度默认值和最小值是80
属性 tabEditable
- 是否允许用户编辑工作表标签条
属性 tabStripPosition
- 标签条的位置,默认是bottom
属性 newTabVisible
- 表单是否显示允许用户插入新表单(WorkSheet)的选项标签
属性 allSheetsListVisible
- 工作簿是否显示特殊选项卡,允许用户打开对话框以显示所有表单
属性 tabNavigationVisible
- 是否显示表单选项卡导航
属性 cutCopyIndicatorVisible
- 是否在复制或剪切所选项时显示指示符
属性 cutCopyIndicatorBorderColor
- 用户剪切或复制所选内容时显示的指示器的边框颜色
属性 backColor
- 用于表示 SpreadJS 的背景颜色的颜色字符串,例如 "red", "#FFFF00", "rgb(255,0,0)", "Accent 5"等
属性 backgroundImage
- SpreadJS 的背景图像
属性 backgroundImageLayout
- SpreadJS 的背景图像布局
属性 grayAreaBackColor
- 用于表示灰色区域的背景色的颜色字符串,例如 "red", "#FFFF00", "rgb(255,0,0)", "Accent 5"等
属性 showResizeTip
- 如何显示调整大小提示
属性 showDragDropTip
- 是否显示拖放提示
属性 showDragFillTip
- 是否显示拖动填充提示
属性 showScrollTip
- 如何显示滚动提示
属性 scrollIgnoreHidden
- 滚动条是否忽略隐藏的行或列
属性 highlightInvalidData
- 是否突出显示无效数据
属性 useTouchLayout
- 是否使用触摸布局来显示 SpreadJS
属性 hideSelection
- 是否在 SpreadJS 没有焦点时突出显示选择
属性 resizeZeroIndicator
- 将行或列的大小调整为零时的绘制策略
属性 allowUserEditFormula
- 用户是否可以在表单的单元格中编辑公式
属性 enableFormulaTextbox
- 是否在表单中启用公式文本框
属性 autoFitType
- 内容是否格式化以适合单元格或单元格和标题
属性 referenceStyle
- 此表单中单元格公式中的单元格和区域引用的样式
属性 allowDynamicArray
- 是否启用动态数组
属性 iterativeCalculation
- 是否启用迭代计算
属性 iterativeCalculationMaximumIterations
- 迭代计算时最大迭代次数
属性 iterativeCalculationMaximumChange
- 迭代计算时变化最大量
属性 calcOnDemand
- 是否只在需要时才计算公式
属性 dynamicReferences
- 动态引用时计算公式
属性 allowCopyPasteExcelStyle
- 用户是否可以从表单复制样式然后粘贴到Excel,或者从Excel复制样式然后粘贴到表单
属性 allowExtendPasteRange
- 如果粘贴区域不足以粘贴,是否扩展粘贴区域
属性 copyPasteHeaderOptions
- 复制或粘贴数据时包含的表头
属性 calculationMode
- 指定工作簿的重新计算模式
属性 scrollByPixel
- 是否启用按像素滚动的精度
属性 scrollPixel
- 当scrollByPixel为true时,决定每次滚动的像素数最终滚动像素是滚动delta乘以scrollPixel的结果例如,滚动的delta是3,scrollPixel是5,最终滚动的像素是15
属性 enableAccessibility
-是否在电子表格中启用可访问性支持
属性 allowAutoCreateHyperlink
- 是否在表单中启用自动创建超链接
属性 columnResizeMode
- 调整列大小的方法
属性 rowResizeMode
- 调整行大小的方法
属性 customList
- 列表供用户自定义拖动填充,优先级匹配此列表中的每个填充每个数组项都是字符串数组的类型
属性 scrollbarAppearance
- 滚动条的外观,包含外观和移动两个枚举 默认值为外观
属性 pasteSkipInvisibleRange
- 是否粘贴跳过不可见的区域默认为false
属性 allowAutoExtendFilterRange
-是否允许像excel一样自动扩展筛选区域,默认值为false
属性 allowInvalidFormula
- 是否允许输入无效的公式字符串。缺省值为false
属性 formulaFormatHint
- 是否在公式输入时自动生成格式。默认为True
属性 pivotAreaReference
- 在选择数据透视表数据区域时,是否自动生成getPivotData公式或单元格引用。默认是getPivotData
属性 defaultSheetTabStyles
- 工作表选项卡的所有默认状态样式
代码示例
// var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:5,showHorizontalScrollbar:false});
var workbook = new GC.Spread.Sheets.Workbook("ss",{sheetCount:5,showHorizontalScrollbar:false});
workbook.options.allowUserDragDrop = false;
workbook.options.allowUserZoom = false;
• sheetTabStyles: SheetTabStyleManager
代表工作表选项卡的状态样式管理器
• sheets: Worksheet
[]
表单集合
• touchToolStrip: TouchToolStrip
触摸工具条
▸ addCustomFunction(fn
): void
添加自定义函数
属性名 | 类型 | 说明 |
---|---|---|
fn |
Function |
需要添加的函数 |
void
▸ addCustomName(name
, formula
, baseRow
, baseCol
, comment?
, isReadOnly?
): void
添加自定义名称
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
自定义名称 |
formula |
string |
公式 |
baseRow |
number |
行索引 |
baseCol |
number |
列索引 |
comment |
string |
自定义批注 |
isReadOnly? |
boolean |
- |
void
▸ addNamedStyle(style
): void
将样式添加到名为样式集的工作簿中
属性名 | 类型 | 说明 |
---|---|---|
style |
Style |
要添加的样式 |
void
▸ addSheet(index
, sheet?
): void
在特定索引处插入一个表单
代码示例
//本示例将表单添加到表单
spread.addSheet(0,new GC.Spread.Sheets.Worksheet("custom"));
属性名 | 类型 | 说明 |
---|---|---|
index |
number |
添加表单的索引 |
sheet? |
Worksheet |
要添加的表单 |
void
▸ addSheetTab(index
, name
, type
): any
在指定索引处插入集算表
属性名 | 类型 | 说明 |
---|---|---|
index |
number |
要添加集算表的索引 |
name |
string |
要添加集算表的名称 |
type |
SheetType |
表单标签类型 |
any
添加的集算表
▸ addSparklineEx(sparklineEx
): void
将 SparklineEx 添加到 SparklineEx 集合
属性名 | 类型 | 说明 |
---|---|---|
sparklineEx |
SparklineEx |
要添加的SparklineEx |
void
▸ bind(type
, data?
, fn?
): void
将事件绑定到工作簿
代码示例
//本示例将事件绑定到函数
sheet.setActiveCell(5,5);
alert(sheet.getActiveColumnIndex());
alert(sheet.getActiveRowIndex());
spread.bind(GC.Spread.Sheets.Events.EnterCell, function (event, data) {
alert(data.col);
alert(data.row);
});
spread.bind(GC.Spread.Sheets.Events.LeaveCell, function (event, data) {
alert(data.col);
alert(data.row);
});
属性名 | 类型 | 说明 |
---|---|---|
type |
string |
事件类型 |
data? |
any |
要传递给函数的其他数据 |
fn? |
Function |
事件触发时要执行的函数 |
void
▸ calculate(type?
, address?
): void
重新构建、标记为脏、广播脏数据并重新计算公式 首先按照计算类型在地址中进行重新构建和标记为脏 然后,广播脏数据将递归地将脏单元格的依赖项设置为脏数据在工作簿中 在自动模式下,所有脏单元格将被计算 在手动模式下,只有地址中的单元格会被计算,其他单元格保持脏状态 如果 CalcService 被暂停,则会跳过重新计算
代码示例
spread.sheets[0].setFormula(0,0,"RAND()");
spread.sheets[0].setFormula(1,0,"=Sheet2!A1");
spread.sheets[0].setFormula(2,0,"=1+2");
spread.sheets[1].setFormula(0,0,"RAND()");
spread.sheets[1].setFormula(1,0,"=Sheet1!A1");
// 所有单元格都会重新计算
spread.calculate();
spread.calculate(GC.Spread.Sheets.CalculationType.regular);
// Sheet1!A1 和 Sheet2!A2 被计算出新的数值,并且计算了 Sheet1!A2 和 Sheet1!A3
spread.calculate(GC.Spread.Sheets.CalculationType.all, "Sheet1");
// Sheet1!A1 和 Sheet2!A2 被计算出新的数值
spread.calculate(GC.Spread.Sheets.CalculationType.regular, "Sheet1!A1");
// 没有任何单元格被计算
spread.calculate(GC.Spread.Sheets.CalculationType.regular, "Sheet1!A2");
spread.options.calculationMode = GC.Spread.Sheets.CalculationMode.manual; // 切换到手动模式
// Sheet1!A1 被计算出新的数值,Sheet1!A2 和 Sheet1!A3 被计算但未更改,Sheet2!A2 在手动模式下保持脏状态
spread.calculate(GC.Spread.Sheets.CalculationType.all, "Sheet1");
// Sheet1!A1 被计算出新的数值,Sheet2!A2 在手动模式下保持脏状态
spread.calculate(GC.Spread.Sheets.CalculationType.regular, "Sheet1");
// Sheet2!A2 被计算,因为它是脏的
spread.calculate(GC.Spread.Sheets.CalculationType.minimal);
属性名 | 类型 | 说明 |
---|---|---|
type? |
CalculationType |
指定重新构建和标记脏数据的计算类型 |
address? |
string |
指定要标记为脏并计算的工作表或范围。如果省略,则为整个工作簿。请注意,在自动模式下,范围之外的脏依赖项将被计算 |
void
▸ changeSheetIndex(sheetName
, targetIndex
): boolean
更改表单索引并重新排序表单
代码示例
//本示例演示如何更改表单索引
var spread = GC.Spread.Sheets.findControl(ss);
spread.setSheetCount(5); // The sheets sequence should be "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5".
spread.changeSheetIndex("Sheet1", 3); // The sheets sequence should be "Sheet2", "Sheet3", "Sheet4", "Sheet1", "Sheet5".
属性名 | 类型 | 说明 |
---|---|---|
sheetName |
string |
表单名称 |
targetIndex |
number |
目标索引 |
boolean
▸ changeSheetPosition(sheetName
, targetPosition
): boolean
修改表单的位置及顺序
代码示例
//这个例子表示如何修改集算表的位置
var spread = GC.Spread.Sheets.findControl(ss);
spread.setSheetCount(5);
spread.addSheetTab(0, "tableSheet1", GC.Spread.Sheets.SheetType.tableSheet); // The sheets sequence should be "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "tableSheet1".
spread.changeSheetPosition("tableSheet1", 3); // The sheets sequence should be "Sheet1", "Sheet2", "Sheet3", "tableSheet1", "Sheet4", "Sheet5".
属性名 | 类型 | 说明 |
---|---|---|
sheetName |
string |
表单名称 |
targetPosition |
number |
目标位置 |
boolean
▸ clearCustomFunctions(): void
清除所有自定义功能
void
▸ clearCustomNames(): void
清除自定义名称
void
▸ clearSheetTabs(): void
清除所有工作表
void
▸ clearSheets(): void
清除控件中的所有表单
代码示例
//本示例使用clearSheets方法
spread.clearSheets();
void
▸ commandManager(): CommandManager
获取命令管理器
代码示例
//本示例执行一个执行指定动作的命令
spread.options.allowUndo = true;
spread.commandManager().execute({cmd: "outlineRow", sheetName: "Sheet1", index: 3, count: 5});
The command manager.
▸ dataManager(): DataManager
获取数据管理器
返回数据管理器
▸ destroy(): void
销毁工作簿及其包含的所有表单
代码示例
//本示例销毁工作簿实例
spread.destroy();
void
▸ export(successCallBack?
, errorCallBack?
, exportOptions?
): void
将对象状态导出到 Excel、SSJSON 或 CSV 文件
代码示例
spread.export(function (blob) {
// save blob to a file
saveAs(blob, fileName);
}, function (e) {
console.log(e);
}, {
fileType: GC.Spread.Sheets.FileType.excel,
includeBindingSource: true
});
属性名 | 类型 |
---|---|
successCallBack? |
Function |
errorCallBack? |
Function |
exportOptions? |
ExportOptions |
void
▸ focus(focusIn?
): void
让工作簿获取焦点或失去焦点
代码示例
//本示例让工作簿获取焦点
$("#button1").click(function () {
spread.focus(true);
});
属性名 | 类型 | 说明 |
---|---|---|
focusIn? |
boolean |
为false 时,工作簿失去焦点; 否则,获取焦点 |
void
▸ fromJSON(workbookData
, deserializationOptions?
): Promise
<any
>
从指定的JSON字符串加载对象状态
代码示例
//本示例使用fromJSON方法
activeSheet.getCell(0,0).value(123);
var jsonStr = null;
//export
jsonStr = JSON.stringify(spread.toJSON());
//import
var fromJSONPromise = spread.fromJSON(JSON.parse(jsonStr));
fromJSONPromise.then(() => {
alert(jsonStr);
});
属性名 | 类型 | 说明 |
---|---|---|
workbookData |
Object |
反序列化的表单数据 |
deserializationOptions? |
Object |
- |
Promise
<any
>
▸ getActiveSheet(): Worksheet
获取当前表单
当前表单实例
▸ getActiveSheetIndex(): number
获取控件的当前表单索引
代码示例
//本示例使用getActiveSheetIndex方法
var index = spread.getActiveSheetIndex();
alert(index);
number
当前表单索引
▸ getActiveSheetTab(): any
获取当前表单选项卡
any
活动的表单选项卡实例
▸ getActiveSheetTabIndex(): number
获取当前表单选项卡索引
number
当前表单选项卡索引
▸ getCircularReference(): ICellsInfo
[]
获取工作簿中的所有循环引用单元格信息
代码示例
spread.getCircularReference();
返回循环引用单元格信息对象数组
▸ getCustomFunction(name
): void
获取自定义函数
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
自定义函数名称 |
void
自定义函数
▸ getCustomName(name
): NameInfo
获取指定的自定义名称信息
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
自定义名称 |
自定义名称的信息
▸ getCustomNames(): NameInfo
[]
获取所有自定义名称信息
NameInfo
[]
类型GC.Spread.Sheets.NameInfo存储在数组中
▸ getExternalReferences(includeItemDetail?
): IExternalReference
[]
获取当前工作簿的跨工作簿引用列表
代码示例
//本示例获取并更新使用的数据源
spread.getActiveSheet().setFormula(0, 0, "='[Jackson.xlsx]Sheet1'!B6+SUM('[Petrosky.xlsx]Sheet2'!B7:B8)");
spread.getExternalReferences().forEach(item=>{
spread.updateExternalReference(item.name, spreadList[item.name], item.filePath);
})
属性名 | 类型 | 说明 |
---|---|---|
includeItemDetail? |
boolean |
是否包括目标单元格和源范围。默认值为false |
▸ getHost(): HTMLElement
获取当前工作簿实例的宿主元素
HTMLElement
host 当前工作簿实例的宿主元素
▸ getNamedStyle(name
): Style
从名为styles的工作簿中获取具有指定名称的样式
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
要返回的样式的名称 |
返回指定的命名样式
▸ getNamedStyles(): Style
[]
从工作簿中获取命名样式
Style
[]
命名样式的GC.Spread.Sheets.Style数组
▸ getSheet(index
): Worksheet
获取指定的表单
代码示例
//本示例获取表单并设置单元格前面板
var sheet1 = spread.getSheet(1);
sheet1.getCell(0,0).value("A1").foreColor("red");
属性名 | 类型 | 说明 |
---|---|---|
index |
number |
要返回的表单的索引 |
指定的表
▸ getSheetCount(): number
获取表单的数量
代码示例
//本例使用了getSheetCount方法
var index = spread.getSheetCount();
alert(index);
number
表单的数量
▸ getSheetFromName(name
): Worksheet
获取具有指定名称的表单
代码示例
//本示例获取表单并设置单元格前面板
var sheet1 = spread.getSheetFromName("Sheet2");
sheet1.getCell(0,0).value("A1").foreColor("red");
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
表单名称 |
具有指定名称的表单
▸ getSheetIndex(name
): number
获取指定名称的表单索引
代码示例
//本示例使用getSheetIndex方法
spread.setSheetCount(5);
var index = spread.getSheetIndex("Sheet2");
alert(index); // 1
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
表单名称 |
number
基于工作表集合的表单索引
▸ getSheetPosition(name
): number
根据名字获取表单选项卡的位置
代码示例
spread.setSheetCount(5);
spread.addSheetTab(0, "tableSheet1", GC.Spread.Sheets.SheetType.tableSheet);
var position = spread.getSheetPosition("tableSheet1");
alert(position); // 5
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
表单选项卡的名字 |
number
表单选项卡位置,基于工作表和集算表的集合
▸ getSheetTab(indexOrName
): any
按索引或名称获取指定的工作表选项卡
属性名 | 类型 | 说明 |
---|---|---|
indexOrName |
string | number |
要返回的工作表选项卡的索引或名称 |
any
指定的表单选项卡
▸ getSheetTabCount(): number
获取工作表选项卡的数目
number
工作表选项卡的数目
▸ getSheetTabIndex(name
): number
获取具有指定名称的集算表选项卡索引
代码示例
spread.setSheetCount(5);
spread.addSheetTab(0, "tableSheet1", GC.Spread.Sheets.SheetType.tableSheet);
var index = spread.getSheetTabIndex("tableSheet1");
alert(index); // 0
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
集算表选项卡名称 |
number
表单选项卡位置,基于工作表和集算表的集合
▸ hitTest(x
, y
): IWorkbookHitTestInformation
执行命中测试
代码示例
//本示例使用hitTest方法
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
var activeSheet = spread.getActiveSheet();
$("#ss").click(function (e) {
//从鼠标单击的常规单元格中获取单元格索引,这些常规单元格既不是固定的行/列也不是行/列标题
var offset = $("#ss").offset();
var x = e.pageX - offset.left;
var y = e.pageY - offset.top;
var target = spread.hitTest(x, y);
if(target.worksheetHitInfo) {
if(target.worksheetHitInfo.hitTestType === 0) {
str = 'corner';
} else if (target.worksheetHitInfo.hitTestType === 1) {
str = 'colHeader';
} else if (target.worksheetHitInfo.hitTestType === 2) {
str = 'rowHeader';
} else {
str = 'viewport';
}
} else if(target.tabStripHitInfo) {
if(target.tabStripHitInfo.navButton){
str = target.tabStripHitInfo.navButton;
} else if(target.tabStripHitInfo.sheetTab) {
str = target.tabStripHitInfo.sheetTab.sheetName;
} else if(target.tabStripHitInfo.resize === true) {
str = "resize";
} else {
str = "blank";
}
} else if(target.horizontalScrollBarHitInfo) {
str = target.horizontalScrollBarHitInfo.element;
} else if(target.verticalScrollBarHitInfo) {
str = target.verticalScrollBarHitInfo.element;
} else if(target.footerCornerHitInfo) {
str = target.footerCornerHitInfo.element;
}
alert(str);
});
}
属性名 | 类型 | 说明 |
---|---|---|
x |
number |
相对于 SpreadJS 水平轴的 x 坐标x |
y |
number |
相对于 SpreadJS 垂直轴的 y 坐标y |
▸ import(file
, successCallback?
, errorCallback?
, importOptions?
): void
从 Excel、SSJOSN、csv文件、JavaScript 文件导入对象状态
代码示例
//This example uses the import method.
//Get file blob.
var file = document.getElementById("importFileName").files[0];
// import
spread.import(file, function () {
// success callback to do something
}, function (e) {
console.log(e); // error callback
}, {
fileType: GC.Spread.Sheets.FileType.excel
});
属性名 | 类型 | 说明 |
---|---|---|
file |
File |
Excel、SSJOSN、csv文件、JavaScript 文件 |
successCallback? |
Function |
- |
errorCallback? |
Function |
- |
importOptions? |
ImportOptions |
- |
void
▸ invalidateLayout(): void
更新控件布局信息
代码示例
//本示例更新布局
spread.invalidateLayout();
spread.repaint();
void
▸ isPaintSuspended(): boolean
获取 SpreadJS 是否已暂停绘制
boolean
▸ nextControl(value?
): any
通过 GC.Spread.Sheets.Actions.selectNextControl 和 GC.Spread.Sheets.Actions.moveToNextCellThenControl 获取或设置使用的下一个控件
属性名 | 类型 | 说明 |
---|---|---|
value? |
HTMLElement |
下一个控件,控件必须具有获取焦点方法 |
any
如果未设置任何值,则返回下一个控件;否则,返回表单
▸ open(file
, successCallback?
, errorCallback?
, openOptions?
): void
加载 SJS 文件到 SpreadJS 实例
代码示例
//This example uses the open method.
//Get file blob.
var file = document.getElementById("importFileName").files[0];
// import
spread.open(file, function () {
// success callback to 做一些事请
}, function (e) {
console.log(e); // error callback
}, { openMode: GC.Spread.Sheets.OpenMode.lazy });
属性名 | 类型 | 说明 |
---|---|---|
file |
File |
SJS 文件流 |
successCallback? |
Function |
- |
errorCallback? |
Function |
- |
openOptions? |
OpenOptions |
- |
void
▸ pageInfo(sheetIndex?
): any
获取表单的页面信息
代码示例
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
spread.suspendPaint();
var sheet = spread.getActiveSheet();
for(var i=0;i<20;i++){
for(var j=0;j<20;j++){
sheet.setValue(i,j,"Row"+i+"_Column"+j);
}
}
var pageInfos = spread.pageInfo(0);
console.table(pageInfos.pages);
属性名 | 类型 | 说明 |
---|---|---|
sheetIndex? |
number |
表单索引 |
any
返回表单的页面信息,如果忽略表单索引,则返回数组中所有表单的页面信息
▸ previousControl(value?
): any
通过GC.Spread.Sheets.Actions.selectPreviousControl和GC.Spread.Sheets.Actions.moveToPreviousCellThenControl获取或设置使用的先前控件
属性名 | 类型 | 说明 |
---|---|---|
value? |
HTMLElement |
先前的控件控件必须具有焦点方法 |
any
如果未设置任何值,则返回先前的控件;否则,返回表单
▸ print(sheetIndex?
): void
打印指定的表单
属性名 | 类型 | 说明 |
---|---|---|
sheetIndex? |
number |
表单索引,如果忽略表单索引,则打印所有可见的表单 |
void
▸ refresh(): void
手动刷新工作簿对象的布局和呈现
代码示例
//本示例使用refresh方法
spread.refresh();
void
▸ removeCustomFunction(name
): void
删除自定义函数
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
自定义函数名称 |
void
▸ removeCustomName(name
): void
删除指定的自定义名称
代码示例
//本示例使用removeCustomName方法
activeSheet.setValue(0, 0, 1);
activeSheet.setValue(0, 1, 2);
activeSheet.setValue(0, 2, 3);
spread.addCustomName("customName1","=12", 0, 0);
activeSheet.setFormula(1, 0, "customName1");
//spread.removeCustomName("customName1");
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
自定义名称 |
void
▸ removeNamedStyle(name
): void
从名为styles的工作簿中删除具有指定名称的样式
代码示例
var namedStyle = new GC.Spread.Sheets.Style();
namedStyle.name = "style1";
namedStyle.backColor = "green";
spread.addNamedStyle(namedStyle);
activeSheet.setStyleName(1, 1, "style1"); // 单元格(1,1)的背景色为绿色
activeSheet.setStyleName(2, 1, "style1");
var style = spread.getNamedStyle("style1");
style.foreColor = "red"; // namedStyle的前景色为红色
activeSheet.repaint(); // 单元格(1,1)和单元格(2,1)的前颜色为红色
activeSheet.getCell(1,1).value("test");
$("#button1").click(function () {
spread.removeNamedStyle("style1");
});
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
要删除的样式的名称 |
void
▸ removeSheet(index
): void
删除指定的表单
代码示例
//本示例从表单中删除表
spread.setSheetCount(5);
spread.removeSheet(0);
属性名 | 类型 | 说明 |
---|---|---|
index |
number |
要删除的表单的索引 |
void
▸ removeSheetTab(indexOrName
): void
按索引或名称删除指定的工作表选项卡
属性名 | 类型 | 说明 |
---|---|---|
indexOrName |
string | number |
要删除的工作表选项卡的索引或名称 |
void
▸ removeSparklineEx(name
): void
从SparklineEx集合中移除SparklineEx
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
要删除的SparklineEx的名称 |
void
▸ repaint(): void
重新绘制工作簿控件
代码示例
//本示例更新布局
spread.invalidateLayout();
spread.repaint();
void
▸ resumeCalcService(recalcAll?
): void
恢复计算服务
代码示例
//本示例使用resumeCalcService方法
spread.suspendCalcService(false);
activeSheet.setValue(0,0,1);
activeSheet.setValue(0,1,2);
activeSheet.setValue(0,2,10);
activeSheet.getCell(1,1).formula("=SUM(A1:C1)");
spread.resumeCalcService(true);
属性名 | 类型 | 说明 |
---|---|---|
recalcAll? |
boolean |
指定是否重新计算所有公式 |
void
▸ resumeEvent(): void
恢复事件
代码示例
//本示例暂停并恢复事件
activeSheet.bind(GC.Spread.Sheets.Events.CellChanged, function (sender, args) {
if (args.propertyName === "value") {
alert(activeSheet.getValue(args.row, args.col));
}
});
spread.suspendEvent();
activeSheet.setValue(0, 0, "111");
spread.resumeEvent();
activeSheet.setValue(1, 1, "222");
void
▸ resumePaint(): void
恢复活动表单和标签条的绘制
void
▸ save(successCallBack?
, errorCallBack?
, saveOptions?
): void
将 SpreadJS 保存为 SJS 文件流
代码示例
spread.save(function (blob) {
// save blob to a file
saveAs(blob, fileName);
}, function (e) {
console.log(e);
}, { includeUnusedNames: false });
属性名 | 类型 | 说明 |
---|---|---|
successCallBack? |
Function |
成功时的回调函数 |
errorCallBack? |
Function |
发生错误时的回调函数 |
saveOptions? |
SaveOptions |
保存选项 |
void
▸ savePDF(successCallback
, errorCallback
, options?
, sheetIndex?
): void
将指定的表单导出为PDF
属性名 | 类型 | 说明 |
---|---|---|
successCallback |
Function |
成功时的回调函数 |
errorCallback |
Function |
发生错误时的回调函数 |
options? |
Object |
- |
sheetIndex? |
number |
表单索引 如果忽略表单索引,则导出所有可见表单 |
void
▸ search(searchCondition
): SearchResult
在指定表单的单元格中的文本中搜索具有指定条件的指定字符串
代码示例
//本示例使用指定的搜索条件搜索活动表
activeSheet.getCell(2,3).value("testSearch");
var searchCondition = new GC.Spread.Sheets.Search.SearchCondition();
searchCondition.searchString = "testSearch";
searchCondition.startSheetIndex = spread.getActiveSheetIndex();
searchCondition.endSheetIndex = spread.getActiveSheetIndex();
searchCondition.searchOrder = GC.Spread.Sheets.Search.SearchOrder.nOrder;
searchCondition.searchTarget = GC.Spread.Sheets.Search.SearchFoundFlags.cellText;
searchCondition.searchFlags = GC.Spread.Sheets.Search.SearchFlags.ignoreCase| GC.Spread.Sheets.Search.SearchFlags.useWildCards;
var searchresult= spread.search(searchCondition);
var str ="[searchFoundFlag:"+ searchresult.searchFoundFlag+",\r\n foundSheetIndex:"+searchresult.foundSheetIndex+",foundRowIndex:" +
searchresult.foundRowIndex+", foundColumnIndex:"+searchresult.foundColumnIndex+", foundString:"+searchresult.foundSheetIndex+"]";
alert(str);
属性名 | 类型 | 说明 |
---|---|---|
searchCondition |
SearchCondition |
搜索条件 |
搜索结果
▸ setActiveSheet(name
): void
通过名称设置活动表单
代码示例
//本示例设置活动表单
spread.setSheetCount(3);
spread.setActiveSheet("Sheet2");
属性名 | 类型 | 说明 |
---|---|---|
name |
string |
用来制作活动表单的表单名称 |
void
▸ setActiveSheetIndex(value
): void
设置控件的活动表单索引
代码示例
//本示例使用setActiveSheetIndex方法
spread.setActiveSheetIndex(1);
属性名 | 类型 | 说明 |
---|---|---|
value |
number |
活动表单索引 |
void
▸ setActiveSheetTab(indexOrName
): void
按索引或名称设置活动表单选项卡
属性名 | 类型 | 说明 |
---|---|---|
indexOrName |
string | number |
用于创建活动表单选项卡的索引或名称 |
void
▸ setSheetCount(count
): void
设置表单数
代码示例
spread.setSheetCount(5);
属性名 | 类型 | 说明 |
---|---|---|
count |
number |
表单的数量 |
void
▸ startSheetIndex(value?
): any
获取或设置要在表单中显示的第一张表单的索引
属性名 | 类型 | 说明 |
---|---|---|
value? |
number |
要在表单中显示的第一张表单的索引 |
any
如果未设置任何值,则返回表单中显示的第一张表单的索引;否则,返回表单
▸ suspendCalcService(ignoreDirty?
): void
挂起计算服务
代码示例
//本示例使用suspendCalcService方法
spread.suspendCalcService(false);
activeSheet.setValue(0,0,1);
activeSheet.setValue(0,1,2);
activeSheet.setValue(0,2,10);
activeSheet.getCell(1,1).formula("=SUM(A1:C1)");
spread.resumeCalcService(true);
属性名 | 类型 | 说明 |
---|---|---|
ignoreDirty? |
boolean |
是否使依赖关系单元格无效 |
void
▸ suspendEvent(): void
挂起事件
代码示例
//本示例暂停并恢复事件
activeSheet.bind(GC.Spread.Sheets.Events.CellChanged, function (sender, args) {
if (args.propertyName === "value") {
alert(activeSheet.getValue(args.row, args.col));
}
});
spread.suspendEvent();
activeSheet.setValue(0, 0, "111");
spread.resumeEvent();
activeSheet.setValue(1, 1, "222");
void
▸ suspendPaint(): void
挂起活动表单和标签条的绘制
void
▸ toJSON(serializationOption?
): Object
将对象状态保存为JSON字符串
代码示例
activeSheet.getCell(0,0).value(123);
var jsonStr = null;
//export
jsonStr = JSON.stringify(spread.toJSON());
//import
spread.fromJSON(JSON.parse(jsonStr));
alert(jsonStr);
属性名 | 类型 | 说明 |
---|---|---|
serializationOption? |
Object |
序列化选项 |
Object
▸ unbind(type
, fn?
): void
删除事件到工作簿的绑定
代码示例
//本示例删除事件绑定
activeSheet.bind(GC.Spread.Sheets.Events.CellChanged, function (sender, args) {
if (args.propertyName === "value") {
alert(activeSheet.getValue(args.row, args.col));
}
});
activeSheet.setValue(0, 0, "111");
spread.unbind(GC.Spread.Sheets.Events.CellChanged);
//spread.unbindAll(); //取消监视所有事件
activeSheet.setValue(1, 0, "222");
activeSheet.setValue(2, 0, "333");
activeSheet.setValue(3, 0, "444");
属性名 | 类型 | 说明 |
---|---|---|
type |
string |
事件类型 |
fn? |
Function |
事件触发时要执行的函数 |
void
▸ unbindAll(): void
删除所有事件到工作簿的绑定
代码示例
//本示例删除事件绑定 取消批注unbindAll方法以删除所有事件绑定
activeSheet.bind(GC.Spread.Sheets.Events.CellChanged, function (sender, args) {
if (args.propertyName === "value") {
alert(activeSheet.getValue(args.row, args.col));
}
});
activeSheet.setValue(0, 0, "111");
spread.unbind(GC.Spread.Sheets.Events.CellChanged);
//spread.unbindAll(); //取消监视所有事件
activeSheet.setValue(1, 0, "222");
activeSheet.setValue(2, 0, "333");
activeSheet.setValue(3, 0, "444");
void
▸ undoManager(): UndoManager
获取撤消管理器
撤消管理器
▸ updateExternalReference(linkInfo
, data?
, filePath?
): void
使用工作簿 JSON 数据或 GC.Spread.Sheets.IO.getPartialValues 的 successCallback 返回结果中的外部值,设置或更新外部数据源的数据
代码示例
// 本示例使用工作簿JSON设置外部源
spread.getActiveSheet().setFormula(0, 0, "[calc.xlsx]Sheet1!A1"); // spread cell A1 value is #REF!
spread2.getActiveSheet().setFormula(0, 0, "=123+1"); \xa0// spread2 cell A1 value is 124
spread.updateExternalReference("calc.xlsx", spread2.toJSON()); // spread cell A1 value is 124
// 使用JSON设置数据
spread.getActiveSheet().setFormula(0, 0, "=SUM([calc.xlsx]Sheet1!A1:B2"); \xa0// spread cell A1 value is #REF!
spread.updateExternalReference("calc.xlsx", {"Sheet1":[[1, 2],[1, 3]]}); \xa0// spread cell A1 value is 7
spread.updateExternalReference("calc.xlsx", {"Sheet1":{0:{0:10, 1:10}, 1:{0:10, 1:10}}}); \xa0// spread cell A1 value is 40
// This example sets the external values with the successCallback result of GC.Spread.Sheets.IO.getPartialValues
let refList = spread.getExternalReferences(true);
GC.Spread.Sheets.IO.getPartialValues(refList, getFile, (externalValues) => {
// successCallback
spread.updateExternalReference(externalValues);
}, (errorMsg) => {
// errorCallback
console.log(errorMsg);
});
属性名 | 类型 | 说明 |
---|---|---|
linkInfo |
string | ExternalPartialValues |
字符串是外部源的文件名,大多以".xlsx"结尾。另一种类型应该是从GC.Spread.Sheets.IO.getPartialValues的回调中获得的外部部分值数组 |
data? |
object |
- |
filePath? |
string |
- |
void