Что случилось, ребята? Надеюсь все хорошо.
Заранее благодарю за поддержку.
Мне нужно создать счет-фактуру через word, excel или html. Что бы я ни выбрал, мне нужно создать общий шаблон для этого. Так как у меня есть некоторые данные, которые мне нужно записать в определенное место. Затем этот счет мне нужно преобразовать в PDF. Практически стандартная вещь.
Теперь я так и делаю, но мне хотелось бы услышать, как сообщество решает эту проблему.
Вот как я это делаю:
У меня есть шаблон Excel, состоящий из двух частей: одна - это счет на одной стороне листа, другая - это банка со значениями, которые мне нужно переписать, и с формулой Excel, где я заменяю concatinate
значение в накладной с таблицей по размеру.
Теперь я использую этот код в nodejs, чтобы переписать книгу и преобразовать в pdf. Как вы можете заметить, я использую модуль xlsx и html-pdf.
Проблема в том, что let excel_html = XLSX.utils.sheet_to_html(worksheet);
не сохраняет стиль или формат листа.
См. Изменение значения ячейки в листе xlsl с сохранением формата 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.
Есть предложения ??