node.js html to xlsx transformation
Transformation only supports html table and several basic style properties. No images or charts are currently supported.
var conversion = require("html-to-xlsx")();
conversion("<table><tr><td>cell value</td></tr></table>" }, function(err, stream){
//readable stream to xlsx file
stream.pipe(res);
});
background-color
- cell background colorcolor
- cell foreground colorborder-left-style
- as well as positions will be transformed into excel cells borderstext-align
- text horizontal align in the excel cellvertical-align
- vertical align in the excel cellwidth
- the excel column will get the highest width, it can be little bit inaccurate because of pixel to excel points conversionheight
- the excel row will get the highest heightfont-size
- font sizecolspan
- numeric value that merges current column with columns to the rightrowspan
- numeric value that merges current row with rows below.overflow
- the excel cell will have text wrap enabled if this is set to scoll.
var conversion = require("html-to-xlsx")({
/* use rather dedicated process for every phantom printing,
"dedicated-process" strategy is quite slower but can solve some bugs
with corporate proxy, default is "phantom-server" */
strategy: 'phantom-server', // 'dedicated-process' or 'phantom-server'
/* number of allocated phantomjs processes */
numberOfWorkers: 2,
/* timeout in ms for html conversion, when the timeout is reached, the phantom process is recycled */
timeout: 5000,
/* directory where are stored temporary html and pdf files, use something like npm package reaper to clean this up */
tmpDir: "os/tmpdir",
/* optional port range where to start phantomjs server */
portLeftBoundary: 1000,
portRightBoundary: 2000,
/* optional hostname where to start phantomjs server */
host: '127.0.0.1'
});
// kill all phantomjs workers when using phantom-server strategy
conversion.kill();
See license