npm 包 word-table 使用教程

阅读时长 5 分钟读完

简介

word-table 是一个可以将数据渲染成表格,生成 Word 文档的 Node.js 模块。该模块使用简单,灵活易用,适用于快速生成 Word 报表或文档。

安装

使用 npm 进行安装:

示例

下面是一个示例代码,用来将一个字符串数组渲染成一个带有表头的 Word 表格:

-- -------------------- ---- -------
----- --------- - ----------------------
----- -- - --------------

----- ---- - -
  -------- ------ ----------
  -------- --- --------
  -------- --- ----------
  ------- --- -------
--

----- --------- - --- -----------
  ----- -----
  --------- -------- ------ ----------
  ---------- ----
---

------------------------------- ----------------------

运行这段代码,将会生成一个名为 output.docx 的 Word 文档,其中包含了一个数据表格。

教程

基本用法

使用 WordTable 构造函数可以创建一个 Word 表格对象,该对象提供了 generate() 方法,该方法会返回一个 Word 文档二进制文件的 Buffer 对象。在使用 WordTable 构造函数时需要传入一个配置对象,支持的配置选项如下:

  • rows (必须):一个数组,其中每一个子数组代表一行数据。
  • headings:一个数组,其中的每一项代表一列的名称。默认情况下,如果 headings 未定义,则不会渲染表头。
  • autoWidth:一个布尔值,表示是否自动计算列宽。默认情况下, autoWidthfalse
  • columnWidths:一个数组,其中的每一项代表一列的宽度。数组元素可以为百分比或者具体的数值,如 50%4000。如果同时指定了 autoWidthcolumnWidths,则 columnWidths 可以作为列宽的最小值,最终的列宽会根据内容自动调整。

下面是一个简单的示例,用来创建一个仅包含一行数据的 Word 表格:

带表头的表格

表头是一个可选项,如果指定了表头,则会在表格上方渲染一个带有列名称的行。为了指定表头,我们需要向 WordTable 构造函数中传入 headings 配置选项:

-- -------------------- ---- -------
----- --------- - ----------------------
----- -- - --------------

----- ---- - -
  -------- --- --------
  -------- --- ----------
  ------- --- -------
--

----- --------- - --- -----------
  ----- -----
  --------- -------- ------ ---------
---

------------------------------- ----------------------

该代码会在 Docx 中生成一个带有表头的数据表格。

自动调整列宽

如果不指定列宽度,则表格的列宽度会根据内容自动调整。使用 autoWidth 配置选项可以控制是否自动调整列宽度:

-- -------------------- ---- -------
----- --------- - ----------------------
----- -- - --------------

----- ---- - -
  -------- ------ ----------
  -------- --- --------
  ------ ----- --- ----------
  ------- --- -------
--

----- --------- - --- -----------
  ----- -----
  ---------- ----
---

------------------------------- ----------------------

指定列宽

当将表格渲染到 Docx 中时,您可以使用配置选项 columnWidths 来控制每列的宽度。该选项接收一个数组,其中每个元素表示相应列的宽度。元素可以是字面值数值,也可以是字符串百分比,字符串百分比将会解析为相对于总宽度的比例。例如,下面的代码使用固定值和百分比指定三列的宽度:

-- -------------------- ---- -------
----- --------- - ----------------------
----- -- - --------------

----- ---- - -
  -------- ------ ----------
  -------- --- --------
  -------- --- ----------
  ------- --- -------
--

----- --------- - --- -----------
  ----- -----
  --------- -------- ------ ----------
  ------------- ------- ------ -----
---

------------------------------- ----------------------

这个例子将第一列设置为相对于总宽度的 40%、第二列设置为相对于总宽度的 20%、第三列设置为固定宽度 2000。如果使用了 autoWidth 选项,则这里指定的值会作为最小宽度。如果表格的内容超过指定宽度,则会自动调整宽度。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671138dd3466f61ffe52b

纠错
反馈