如何设置一个可以被导出的超链接
背景: 超链接是一个非常常见的功能,用于进行跳转。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
页:
[1]