一、需求
word自带的图表不能满足需求,并且编写过程繁琐,需要写一个页面,主要功能是能读取服务器的word模板,根据后台给的数据,自动生成echarts图表并插入到word指定位置,然后点击能下载插入echarts后的最新word文档,实现数据更新就生成新的word表格,节省人力和时间。其次附带的一些功能,比如预览,类似ctrl+f的检索,批注内容什么的,记录一下问题。
二、效果(demo)
1.1 word模板部分示例:
1.2 导出之后的word:
1.3 页面预览效果(左侧目录,中间预览,右侧批注,实现目录检索并对位添加批注):
三、实现
1.1 需要安装的包
1.2 需要引入的相关文件和包
import PizZip from ‘pizzip’;
import docxtemplater from ‘docxtemplater’;
import JSZipUtils from ‘jszip–utils’;
import { defaultOptions, renderAsync } from ‘docx–preview’;
import { saveAs } from ‘file–saver’;
//请求数据的api
import { getTreeData, getTextData, getChartsData, searchLocal, getCommentsInfo, updateSubDocx } from ‘./api/api.js’;
import FontFaceObserver from ‘fontfaceobserver’;
const echarts = require(‘echarts/lib/echarts’);
require(‘echarts/lib/component/tooltip’);
require(‘echarts/lib/component/legend’);
require(‘echarts/lib/chart/pie’);
import * as charts from ‘./charts’;
import axios from ‘axios’;
import Moment from ‘moment’;