Javascript 导出列时创建超链接
我使用以下函数将json从Angular 6项目导出到xls:Javascript 导出列时创建超链接,javascript,typescript,angular6,export,xlsx,Javascript,Typescript,Angular6,Export,Xlsx,我使用以下函数将json从Angular 6项目导出到xls: exportAsExcelFile(jsonData: any[]): void { let exportObj=[{ 'Name':'ABC', 'RollNo':'123', 'url':'www.google.com' }] const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(exportObj
exportAsExcelFile(jsonData: any[]): void {
let exportObj=[{
'Name':'ABC',
'RollNo':'123',
'url':'www.google.com'
}]
const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(exportObj);
const wb: XLSX.WorkBook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
/* save to file */
const filename = 'Sample.xlsx';
XLSX.writeFile(wb, filename);
}
获得以下输出
应为带有超链接的以下输出
基于这个答案
我检查了所有的ws并更新了以“http”开头的每个单元格,其中包含=HYPERLINK(“http…”,“link text”)
(下面的代码片段需要JQuery才能工作)
var ws = XLSX.utils.json_to_sheet(data);
//Update links
jQuery.each(ws, function(cell, item) {
if (item.v != null && item.v.toString().indexOf('http') == 0)
ws[cell] = {f: '=HYPERLINK("' + item.v.toString() + '","link text")'};
});
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "TabName");
XLSX.writeFile(wb, "my_file.xlsx");