如何在Angular下由xlsx软件包生成的工作簿中的单元格格式化

时间:2019-03-15 10:25:45

标签: excel angular typescript xlsx

NB。虽然主要是在寻找与xlsx软件包有关的答案(这似乎得到了广泛的建议和讨论),但我担心这可能是不可能的。因此,我也愿意朝着另一个方向发展(只要它是免费的并且适用于Angular / Excel)。

我找到了xlxs,并且正在生成Excel格式的文件。我想控制一些样式,因此我按照建议的in the comments(代码示例here)将属性 s 添加到了单元格中。

testMagic() {
  const table = document.getElementById("donkey");
  const workBook = XLSX.utils.table_to_book(table);
  workBook.Sheets.Sheet1.A1.s = { font: { bold: true } };
  XLSX.writeFile(workBook, "wonkey.xlsx");
}

不过,下载的文件没有区别。我已经用谷歌搜索了这个问题,但是组合Angular和xlsx 样式通常不是博客。

我希望由于困惑和无知而使我很容易解决,这很容易解决。

2 个答案:

答案 0 :(得分:3)

我认为您正在使用XLSX软件包的社区(免费)版本。单元格样式和其他修改单元格格式的附加功能仅在该库的Pro版本中可用。请检查here.

您可以查看官方信息here.

  

这是社区版本。我们还提供带有   性能增强,样式等其他功能,以及   专门的支持。

P.S .- 。使用exceljs npm包来更新Excel工作表并设置单元格格式的另一种方法。您可以查看有关样式here的更多详细信息。 请参见示例here(StackBlitz)

答案 1 :(得分:1)

这个答案与问题描述有点无关,但在这个问题标题下是有道理的。

如果您想知道如何将单元格格式化为“文本”类别,因为您的数据会自动更改格式(数字到日期/电话号码到指数),那么有一个参数可以帮助实例化工作表

raw:boolean

用作:

const worksheet: XLSX.WorkSheet=XLSX.utils.table_to_sheet(tableElement, {raw:true});