[]
• new Workbook(host?
, options?
)
带有指定宿主DOM容器或者DOM ID的表单及其可选设置
代码示例
var workbook = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount:3, font:"12pt Arial"});
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;
• customPivotTableThemes: CustomPivotTableThemeManager
Represents the custom pivot table theme manager.
• customSlicerThemes: CustomSlicerThemeManager
Represents the custom item slicer theme manager.
• customTableThemes: CustomTableThemeManager
Represents the custom table theme manager.
• customTimelineThemes: CustomTimelineThemeManager
Represents the custom timeline slicer theme manager.
• docProps: IDocProps
Document properties.
• name: string
Spread的名称
代码示例
spread.name = "Spread1";
• options: IWorkbookOptions
控制选项
属性 allowUserDragMerge
- 是否允许用户拖动合并单元格。
property
[options.allowDragHeaderToMove] - 指定如何允许拖动标题移动。
属性 allowUserDragDrop
- 是否允许用户拖放范围数据。
属性 allowUserDragFill
- 是否允许用户拖动填充范围。
属性 allowUserZoom
- 是否允许通过按住 Ctrl 键并滚动鼠标滚轮来缩放显示。
属性 allowUserResize
- 是否允许用户调整列和行的大小。
属性 allowUndo
- 是否允许用户撤销编辑。
属性 allowSheetReorder
- 是否允许用户重新排序 Spread 组件中的工作表。
属性 allowContextMenu
- 是否允许用户打开内置上下文菜单。
属性 allowUserDeselect
- 是否允许用户在选择时取消选择。
属性 defaultDragFillType
- 默认的填充类型。
属性 showDragFillSmartTag
- 是否显示拖动填充对话框。
属性 showHorizontalScrollbar
- 是否显示水平滚动条。
属性 showVerticalScrollbar
- 是否显示垂直滚动条。
属性 scrollbarShowMax
- 是否基于工作表中的所有列和行显示滚动条。
属性 scrollbarMaxAlign
- 滚动条是否与活动工作表的最后一行和最后一列对齐。
属性 tabStripVisible
- 是否显示工作表标签条。
属性 tabStripRatio
- 标签条宽度表示为整体水平滚动条宽度的百分比。
属性 tabStripWidth
- 当标签条位于左侧或右侧位置时的宽度。默认值和最小值为 80。
属性 tabEditable
- 是否允许用户编辑工作表标签条。
属性 tabStripPosition
- 标签条的位置。默认值为底部。
属性 newTabVisible
- 电子表格是否显示特殊标签以允许用户插入新工作表。
属性 allSheetsListVisible
- 电子表格是否显示特殊标签以允许用户打开对话框以显示所有工作表。
属性 tabNavigationVisible
- 是否显示工作表标签导航。
属性 cutCopyIndicatorVisible
- 是否在复制或剪切选定项时显示指示器。
属性 cutCopyIndicatorBorderColor
- 用户剪切或复制选择时显示的指示器的边框颜色。
属性 backColor
- 用于表示 Spread 组件背景颜色的颜色字符串,例如 "red", "#FFFF00", "rgb(255,0,0)", "Accent 5" 等。
属性 backgroundImage
- Spread 组件的背景图像。
属性 backgroundImageLayout
- Spread 组件的背景图像布局。
属性 grayAreaBackColor
- 用于表示灰色区域背景颜色的颜色字符串,例如 "red", "#FFFF00", "rgb(255,0,0)", "Accent 5" 等。
属性 showResizeTip
- 如何显示调整大小提示。
属性 showDragDropTip
- 是否显示拖放提示。
属性 showDragFillTip
- 是否显示拖动填充提示。
属性 showScrollTip
- 如何显示滚动提示。
属性 scrollIgnoreHidden
- 滚动条是否忽略隐藏的行或列。
属性 highlightInvalidData
- 是否突出显示无效数据。
属性 useTouchLayout
- 是否使用触摸布局来呈现 Spread 组件。
属性 hideSelection
- 当 Spread 组件没有焦点时是否显示选择高亮。
属性 resizeZeroIndicator
- 当行或列调整到零时的绘图策略。
属性 allowUserEditFormula
- 是否允许用户在电子表格的单元格中编辑公式。
属性 enableFormulaTextbox
- 是否启用电子表格中的公式文本框。
属性 autoFitType
- 内容是否将在单元格或单元格和标题中格式化以适应。
属性 referenceStyle
- 此工作表上单元格公式中单元格和范围引用的样式。
属性 allowDynamicArray
- 是否启用动态数组。
属性 iterativeCalculation
- 是否启用迭代计算。
属性 iterativeCalculationMaximumIterations
- 迭代计算时的最大迭代次数。
属性 iterativeCalculationMaximumChange
- 迭代计算时的最大变化。
属性 calcOnDemand
- 是否仅在需要时才计算公式。
属性 incrementalCalculation
- 是否增量计算公式而不阻塞 UI。
属性 dynamicReferences
- 是否计算具有动态引用的函数。
属性 allowCopyPasteExcelStyle
- 用户是否可以从电子表格复制样式然后粘贴到 Excel,或者从 Excel 复制样式然后粘贴到电子表格。
属性 allowExtendPasteRange
- 如果粘贴范围不够粘贴,是否扩大粘贴范围。
属性 copyPasteHeaderOptions
-复制或粘贴数据时包含哪些标头。
属性 计算模式
-工作簿的重新计算行为。默认为自动。
属性 scrollByPixel
- 是否开启按像素精确滚动。
属性 scrollPixel
- 当scrollByPixel为true时,决定一次滚动该像素数。最终的滚动像素是滚动增量乘以scrollPixel的结果。例如,滚动增量为3,滚动像素为5,最终滚动像素为15。
属性 enableAccessibility
- 是否在电子表格中启用辅助功能支持。
属性 allowAutoCreateHyperlink
- 是否启用在电子表格中自动创建超链接。
属性 columnResizeMode
- 指定调整列大小的方式。
属性 rowResizeMode
- 指定调整行大小的方式。
属性 customList
- 供用户自定义拖动填充的列表,每次填充时优先匹配此列表。每个数组项都是字符串数组类型。
属性 scrollbarAppearance
- 滚动条的外观,包含skin和mobile两个枚举。默认是皮肤。
属性 pasteSkipInvisibleRange
- 粘贴是否跳过不可见范围。默认为 false。
属性 allowAutoExtendFilterRange
- 是否允许像Excel一样自动扩展过滤范围。默认为 false。
属性 allowInvalidFormula
- 是否允许输入无效的公式字符串。默认为 false。
属性 formulaFormatHint
- 公式输入时是否自动生成格式。默认为 true。
属性 pivotAreaReference
- 选择数据透视表数据区域时是否自动生成 getPivotData 公式或单元格引用。默认为 getPivotData。
属性 defaultSheetTabStyles
- 工作表选项卡的所有默认状态样式。
property
[options.builtInFileIcons] - 所有内置文件图标。
代码示例
// 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
获取数据管理器
返回数据管理器
▸ defaultPivotTableTheme(themeName?
): undefined
| PivotTableTheme
set or get the default pivot table theme.
代码示例
// set Default pivot table theme name as "custom0"
spread.defaultPivotTableTheme("custom0");
let newPivotTable = activeSheet.pivotTables.add("pivotTable1", 1, 1, 10, 5);
// The pivot table above will use "custom0" as the theme since no specific theme has been specified.
// get default pivot table theme
spread.defaultPivotTableTheme();
属性名 | 类型 |
---|---|
themeName? |
string |
undefined
| PivotTableTheme
▸ defaultSlicerTheme(themeName?
): undefined
| SlicerStyle
set or get the default slicer theme.
代码示例
// set default slicer theme name as "custom0"
spread.defaultSlicerTheme("custom0");
let newSlicer = activeSheet.slicers.add("slicer1", 1, 1, 10, 5);
// The slicer above will use "custom0" as the theme since no specific theme has been specified.
// get default slicer theme
spread.defaultSlicerTheme();
属性名 | 类型 |
---|---|
themeName? |
string |
undefined
| SlicerStyle
▸ defaultTableTheme(themeName?
): undefined
| TableTheme
set or get the default table theme.
代码示例
// set default table theme name as "custom0"
spread.defaultTableTheme("custom0");
let newable = activeSheet.tables.add("table1", 1, 1, 10, 5);
// The table above will use "custom0" as the theme since no specific theme has been specified.
// get the default table theme
spread.defaultTableTheme();
属性名 | 类型 |
---|---|
themeName? |
string |
undefined
| TableTheme
▸ defaultTimelineTheme(themeName?
): undefined
| TimelineStyle
set or get the default timeLine theme.
代码示例
// set default timeLine theme name as "custom0"
spread.defaultTimelineTheme("custom0");
let newTimeline = activeSheet.timeLines.add("timeLine1", 1, 1, 10, 5);
// The timeLine above will use "custom0" as the theme since no specific theme has been specified.
// get default timeLine theme
spread.defaultTimelineTheme();
属性名 | 类型 |
---|---|
themeName? |
string |
undefined
| TimelineStyle
▸ 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?
, isMergeUpdate?
): 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 |
- |
isMergeUpdate? |
boolean |
Indicates whether to update by merging. If it's not true, the whole external sheet data will be overwritten. |
void