背景: 超链接是一个非常常见的功能,用于进行跳转。SpreadJS当中有自己的超链接设置,可以支持超链接的正常功能,为跳转进行设置。但有一点美中不足的是该超链接无法导出Excel,在填报中经常会遇到设置一个跳转目录的需求,这样的需求往往还要支持导出Excel。这个时候原有的超链接就无法满足功能了。好消息是在SpreadJS的V13.1.0中支持了跟Excel可以互相导入导出的超链接。
设置方式:
以前的超链接设置是给单元格设置一个HyperLink的cellType。之后通过text,linkToolTip,onClickAction等方法进行超链接的具体设置,例如:
- var h = new spreadNS.CellTypes.HyperLink();
- h.text("set sheet tab style");
- h.linkToolTip("set sheet tab style and sheet name");
- h.activeOnClick(true);
- h.onClickAction(function () {
- //do something
- spread.commandManager().execute({cmd: "setSheetTabStyle"});
- });
- sheet.setCellType(3, 2, h);
复制代码 相关文档可以参考:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-types/hyperlink/purejs
新的超链接的设置方式与旧版是不同的。新的超链接功能有专门的api来进行设置,通过setHyperLink来进行设置并且配置url,tooltip,linkColor等属性设置来进行具体设置,例如:
- sheet.setHyperlink(0, 2, {
- url: 'https://www.grapecity.com/spreadjs',
- tooltip: 'grapecity',
- linkColor: '#0066cc',
- visitedLinkColor: '#3399ff',
- target: GC.Spread.Sheets.Hyperlink.HyperLinkTargetType.blank
- }, GC.Spread.Sheets.SheetArea.viewport);
复制代码 并且超链接支持表单内跳转设置,例如:
- sheet.setHyperlink(5, 3, { url: "sjs://Sheet1!A1:B2"}, GC.Spread.Sheets.SheetArea.viewport);
复制代码 支持邮件格式跳转设置,例如:
- sheet.setValue(5, 3, "ProductGroup@gmail.com")
- sheet.setHyperlink(5, 3, { url: "ProductGroup@gmail.com?subject=Product Details"});
复制代码 另外,新版超链接与旧版一样,也支持自定义相关设置:
- sheet.setValue(5, 3, "alertMessage")
- sheet.setHyperlink(5, 3, { command: function() {
- alert("Hyperlink!")
- }});
复制代码 相关使用用例可以参考:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/hyperlink/introduction/purejs
|
|