1.1.1 • Published 2 years ago

easy-word v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

introduce

简单、快捷、方便地导出Word文档

这是一个依赖docx来实现的word文档的导出,现在已经支持表单、图形风格的导出,如果你不满足这些基本的风格,建议你去用docx定制开发来满足自己的风格。

安装/入门

npm i easy-word
npm i docx@6.0.3

特别注意

项目依赖于docx, 同时你需要把你数据数组的图片全部转为base64并且封装在imgList参数里面, 同时把数据封装成统一格式才可以正确的识别.

import { outGraphic } from 'easy-word'  // 图文方法
import { outTable } from 'easy-word'   // 表格方法
import { Packer } from 'docx'
import { urlToBase64 } from 'easy-word' // 图片转base64方法 你也可以自己去封装

<!-- outGraphic(row, word)  -->
// 参数说明
 * @param {number} row 几行文字 max 10
 * @param {Array} data 数字数组 [{ 0 : val }]

// 比如我希望导出一个图文格式
{
  title: '',
  name: '',
  content: '',
  imgList: []
}

data = [{ 0: '标题', 1: '名字', 2: '内容', imgList: [] } ... ]
row = data[0].length - 1 =  3


<!-- 表格方法 -->
outTable(caption, row, data)
 @param {Array} caption 字符串数组 ['value1', 'value2'] 长度必等于 row - 1 
 @param {number} row  几行表格 max = 10
 @param {Array} data  key为数字value 为值的 数组 [{ 0: 'value', 1: 'vlaue' ... imgList: [] }]

大家可以把caption理解成表头,data 为表数据,
如表头为['班级', '姓名', '标题', '时间']
data 就为 [{ 0: '大一班', 1: '拉拉', 2: '标题内容', 3: '2022-5-11', imgList: ['base64...x'] }]
row = caption.length + 1 = 5

数据保持这样传入就可以得到正确的返回了


const doc:any = await outGraphic(row, word)
Packer.toBlob(doc).then(blob => {
    saveAs(blob, '图文文档.docx')
    console.log('开始保存')
  }).finally(() => {
    console.log('导出成功')
})

导出样式展示

表格文档 图文文档

发展

开发目的也是为了练习npm包制作流程和对docx文档导出的方法记录.后续可能会断断续续记录 word文档的导出模板样式.目前先测试测试,后续支持文字颜色字体,边框的diy,现在还没有写参数...

特性

这个项目能做什么呢?

  • word文档的导出
  • 支持图文wrod导出
  • 支持基础表格导出
1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago