编写一个Excel并将其转换为HTML Node.js

时间:2019-03-06 21:02:35

标签: html node.js excel pdf

大家好吗?希望一切都很好。 预先感谢您的支持。

我需要通过word,excel或html创建发票。无论我选择做什么,都需要为此创建一个通用模板。由于我有一些数据需要写入特定的位置。然后,我需要将此发票转换为PDF。几乎是标准的事情。

现在,这就是我的工作方式,但是我想听听社区如何解决这个问题。

这就是我的做法:

我有一个由两部分组成的Excel模板,一个是工作表一侧的发票,另一个是可以重写我需要重写的值的表格,还有一个Excel公式,可以在其中使用concatinate将发票中的值替换为尺寸表。

现在,我在nodejs中使用此代码重写工作簿并转换为pdf。如您所见,我正在使用xlsx模块和html-pdf。

问题在于let excel_html = XLSX.utils.sheet_to_html(worksheet);不保留工作表的样式或格式。

请参阅Changing a cell value in a xlsl sheet while keeping the format nodejs

这是代码

const moment = require('moment');
const XLSX = require('xlsx');
const pdf = require('html-pdf');


let workbook = XLSX.readFile('./templates/Interest_Invoice_Notification_TEMPLATE_HFMX.xlsx');

const addrees_of_initial_date = 'N2';
const addrees_of_end_date = 'N3';
const addrees_of_normal_basis = 'N4';
const addrees_of_interest_rate = 'N5';
const addrees_of_currency = 'N6';



let worksheet = workbook.Sheets[workbook.SheetNames[0]];

let desired_cell = worksheet[address_of_series_number];

let excel_html = XLSX.utils.sheet_to_html(worksheet);

console.log(typeof excel_html)


const options = { format: 'Letter'};

pdf.create(excel_html, options).toFile('./pdf/Interest_Invoice_Notification_TEMPLATE_HFMX.pdf', function(err, res) {
    if(err) return console.log(err);

    console.log(res);
})

现在,我需要能够保留格式。我正在考虑编写自己的html来创建模板,并使用车把或其他模板引擎将数据传递到此html模板。

我也可以编写一个单词模板,并可能使用`docxtemplater` npm模块。

有什么建议吗?

0 个答案:

没有答案