简介
word-table
是一个可以将数据渲染成表格,生成 Word 文档的 Node.js 模块。该模块使用简单,灵活易用,适用于快速生成 Word 报表或文档。
安装
使用 npm 进行安装:
npm install word-table
示例
下面是一个示例代码,用来将一个字符串数组渲染成一个带有表头的 Word 表格:
-- -------------------- ---- ------- ----- --------- - ---------------------- ----- -- - -------------- ----- ---- - - -------- ------ ---------- -------- --- -------- -------- --- ---------- ------- --- ------- -- ----- --------- - --- ----------- ----- ----- --------- -------- ------ ---------- ---------- ---- --- ------------------------------- ----------------------
运行这段代码,将会生成一个名为 output.docx
的 Word 文档,其中包含了一个数据表格。
教程
基本用法
使用 WordTable
构造函数可以创建一个 Word 表格对象,该对象提供了 generate()
方法,该方法会返回一个 Word 文档二进制文件的 Buffer 对象。在使用 WordTable
构造函数时需要传入一个配置对象,支持的配置选项如下:
rows
(必须):一个数组,其中每一个子数组代表一行数据。headings
:一个数组,其中的每一项代表一列的名称。默认情况下,如果headings
未定义,则不会渲染表头。autoWidth
:一个布尔值,表示是否自动计算列宽。默认情况下,autoWidth
为false
。columnWidths
:一个数组,其中的每一项代表一列的宽度。数组元素可以为百分比或者具体的数值,如50%
或4000
。如果同时指定了autoWidth
和columnWidths
,则columnWidths
可以作为列宽的最小值,最终的列宽会根据内容自动调整。
下面是一个简单的示例,用来创建一个仅包含一行数据的 Word 表格:
const WordTable = require('word-table'); const fs = require('fs'); const data = [['Jack', 21, 'Male']]; const wordTable = new WordTable({ rows: data }); fs.writeFileSync('output.docx', wordTable.generate());
带表头的表格
表头是一个可选项,如果指定了表头,则会在表格上方渲染一个带有列名称的行。为了指定表头,我们需要向 WordTable
构造函数中传入 headings
配置选项:
-- -------------------- ---- ------- ----- --------- - ---------------------- ----- -- - -------------- ----- ---- - - -------- --- -------- -------- --- ---------- ------- --- ------- -- ----- --------- - --- ----------- ----- ----- --------- -------- ------ --------- --- ------------------------------- ----------------------
该代码会在 Docx 中生成一个带有表头的数据表格。
自动调整列宽
如果不指定列宽度,则表格的列宽度会根据内容自动调整。使用 autoWidth
配置选项可以控制是否自动调整列宽度:
-- -------------------- ---- ------- ----- --------- - ---------------------- ----- -- - -------------- ----- ---- - - -------- ------ ---------- -------- --- -------- ------ ----- --- ---------- ------- --- ------- -- ----- --------- - --- ----------- ----- ----- ---------- ---- --- ------------------------------- ----------------------
指定列宽
当将表格渲染到 Docx 中时,您可以使用配置选项 columnWidths
来控制每列的宽度。该选项接收一个数组,其中每个元素表示相应列的宽度。元素可以是字面值数值,也可以是字符串百分比,字符串百分比将会解析为相对于总宽度的比例。例如,下面的代码使用固定值和百分比指定三列的宽度:
-- -------------------- ---- ------- ----- --------- - ---------------------- ----- -- - -------------- ----- ---- - - -------- ------ ---------- -------- --- -------- -------- --- ---------- ------- --- ------- -- ----- --------- - --- ----------- ----- ----- --------- -------- ------ ---------- ------------- ------- ------ ----- --- ------------------------------- ----------------------
这个例子将第一列设置为相对于总宽度的 40%、第二列设置为相对于总宽度的 20%、第三列设置为固定宽度 2000。如果使用了 autoWidth
选项,则这里指定的值会作为最小宽度。如果表格的内容超过指定宽度,则会自动调整宽度。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671138dd3466f61ffe52b