officegen文档
首先你要知道
node.js如何读取文件和写入文件
//读取
const fs = require('fs')
const path = require('path')
const filename = path.resolve(__dirname,'./myFiles/1.txt')
async function test(){
const content = await fs.promises.readFile(filename,'utf-8');
console.log(content)
}
test();
//写入
const fs = require('fs')
const path = require('path')
const filename = path.resolve(__dirname,'./myFiles/1.txt')
async function test(){
await fs.promises.writeFile(filename,'abc','utf-8');
console.log('成功')
}
test();
接着引入officegen
var officegen = require('officegen');
var docx = officegen('docx');
docx.on('finalize', function (written) {
console.log('doxc可以了');
});
你要读取每一个文件夹下的文件,然后读取每个文件的内容,然后把所有读取的内容拼接在一起,最后写入到.docx中。
const fs = require('fs');
const path = require('path');
var officegen = require('officegen');
var docx = officegen('docx');
docx.on('finalize', function (written) {
console.log('doxc可以了');
});
//读文件夹
const filePath = path.resolve('./view');
// const filename = path.resolve('out.docx');
//读文件
const files = fs.readdirSync(filePath);
async function test() {
let outContent = ''
for (let i = 0; i < files.length; i++) {
console.log('成功')
//获取到了路径
const localDir = path.join(filePath, files[i]);
//读取到本地路径
console.log(localDir);
const content = await fs.promises.readFile(localDir, 'utf-8');
//读到了信息两个content
outContent += content
// console.log('content', outContent);
// var out = await fs.promises.writeFile(filename, outContent, 'utf-8');
var out = await fs.createWriteStream ( 'out.docx' );// 文件写入
// console.log(out);
//添加页眉
var pObj = docx.createP()
//修改文字大小字体等
var a = pObj.addText(outContent,{font_face: '仿宋', font_size: 18 })
console.log(a);
}
//创建内容
var header = docx.getHeader().createP();
header.addText('这是页眉你来添加内容')
docx.generate (out);
}
test();