Xlxs.js的“l"单元格超链接对象选项工作

xlxs.js how does the "l" cell hyperlink object option work

本文关键字:超链接 单元格 对象 选项 工作 quot js Xlxs      更新时间:2023-09-26

我目前使用以下库来制作excel文档https://github.com/SheetJS/js-xlsx/blob/master/README.md

现在我的两个单元格是这样的

ws[XLSX.utils.encode_cell({c: 0, r: 1})] = {v: "Report Url", s: {font : {sz : "11", bold : true}}}
ws[XLSX.utils.encode_cell({c: 1, r: 1})] = {v: self.url, s: {font : {sz : "11"}}}

生成一行:"Report Url" |::很长很丑的Url::

文档说有一个"l"选项,但是没有给出如何使用它的文档。在自述:

细胞对象:

'::l:: cell超链接对象目标保存链接,.tooltip是tooltip)'

有没有人有一个exp与它,我想excel有一行只有一列,说"报告url",这将是一个可点击的链接

所有我尝试过却失败的事情:

ws[XLSX.utils.encode_cell({c: 0, r: 1})] = {l: self.url, s: {font : {sz : "11", bold : true}}}
ws[XLSX.utils.encode_cell({c: 0, r: 1})] = {v: "url", l: self.url, s: {font : {sz : "11", bold : true}}}
ws[XLSX.utils.encode_cell({c: 0, r: 1})] = {v: Target,l: {Target :self.url}, s: {font : {sz : "11", bold : true}}}
ws[XLSX.utils.encode_cell({c: 0, r: 1})] = {l: {Target :self.url}, s: {font : {sz : "11", bold : true}}}

任何想法?

目前未实现。

另一种方法是使用像这样的超链接公式

ws[XLSX.utils.encode_cell({
    c: 0,
    r: 0
})] = {
    f: '=HYPERLINK("http://www.google.com","Google")'
};
在预防问题修复后,立即使用

来实现相同的目的。遗憾的是,这个补丁和另一个补丁对我不起作用。

我有一个类似的问题,想要用一个自定义链接链接第一列中的所有行(除了第一行是标题)。我所做的是如下(json是我的excel文件的数组,而链接是一个数组,包含每一行的链接):

const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
for (let i = 1; i < json.length + 1; i++) {
    worksheet[XLSX.utils.encode_cell({
      c: 1,
      r: i
    })].l = { Target: links[i-1] };
}

结果是一个excel文件,第二列有内部自定义链接