html-to-excel-render v1.0.18
html-to-xslx
TODOs
Написать все нужные хэлперы, сейчас есть только math
Для рендеринга шаблонов Handlebars.js используется: github.com/aymerick/raymond
Описание
Usage
Сборка
$ go build -o html-to-xslx.exe src/main/main.go
Запуск
$ html-to-xlsx.exe all_styles.hbs med-journal-fmt.json result_excel.xlsx 2000
Внешние библиотеки
Для парсинга html: github.com/jbowtie/gokogiri
Для генерации Excel: github.com/tealeg/xlsx
Описание работы
Консольное приложение.
На вход, в командной строке передаются:
файл шаблона (hbs)
файл данных (json)
выходной файл эксель
кол-во рядов одной итерации
Кол-во рядов одной итерации по сути управляет размером используемой памяти (и влияет на скорость).
Чем меньше рядов берется за одну итерацию, тем чаще происходит сброс на диск, тем меньше используется памяти, и тем медленнее все выполняется. И наоборот.
Коэффициент перевода пикселей в ширину эксель (а там она в символах текущей темы и шрифта) находится в константе PIXELS_TO_EXCEL_WIDTH_COEFF (main/utils.go)
Коэффициент перевода пикселей в высоту эксель (а там она в символах текущей темы и шрифта) находится в константе PIXELS_TO_EXCEL_HEIGHT_COEFF (main/utils.go)
Поддерживаемые стили при экспорте в XLSX
Строки таблицы \
Поле | Допустимые значения | Примечание |
---|---|---|
height, min-height, max-height | от 1px до 100500px | При выводе на excel указанное число делится на 10. Размер может быть только один в перечисленном приоритете |
text-align | 'center', 'left', 'right', 'justify' | Настраивается только горизонтальное расположение, вертикальное всегда middle |
word-wrap | break-word | Разрешает перенос строк |
border-style | solid | Ставит в xlsx обводку всех ячеек в строке черной тонкой |
border-inheritance-type | solid | Кастомный тег, ставить, если нужно чтобы была вся строка была в обрамлении, даже с пустыми ячейками |
Столбцы таблицы \
Поле | Допустимые значения | Примечание |
---|---|---|
width, min-width, max-width | от 1px до 100500px | При выводе на excel указанное число делится на 10. Размер может быть только один в перечисленном приоритете |
text-align | center, left, right, justify | Настраивается только горизонтальное расположение, вертикальное всегда middle |
word-wrap | break-word | Разрешает перенос строк |
border-style | solid | Ставит в xlsx обводку всех ячеек в строке черной тонкой |
font-weight | любое | Делает текст жирным |
font-size | от 1 до N | Устанавливает размер шрифта |
colspan | от 1 до N | Мержит указанное количество ячеек начиная с текущей. Парсер пока не умеет корректно работать с смерженными ячейками. Пустые ячейки нужно указывать явно в шаблоне, иначе произойдет перезаписывание. |
Ячейки таблицы \
Поле | Допустимые значения | Примечание |
---|---|---|
text-align | center, left, right, justify | Настраивается только горизонтальное расположение, вертикальное всегда middle |
word-wrap | break-word | Разрешает перенос строк |
border-style | solid | Ставит в xlsx обводку всех ячеек в строке черной тонкой |
font-weight | любое | Делает текст жирным |
font-size | от 1 до N | Устанавливает размер шрифта |
colspan | от 1 до N | Мержит указанное количество ячеек начиная с текущей. Парсер пока не умеет корректно работать с смерженными ячейками. Пустые ячейки нужно указывать явно в шаблоне, иначе произойдет перезаписывание. |
Описание возвращаемых ошибок
Invalid arguments
Cant save file
Arguments not found
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago