Написание Excel и преобразование его в HTML Nodejs - PullRequest
0 голосов
/ 07 марта 2019

Что случилось, ребята? Надеюсь все хорошо. Заранее благодарю за поддержку.

Мне нужно создать счет-фактуру через 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.

Есть предложения ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...