diff --git a/bits/45_styutils.js b/bits/45_styutils.js index 76afdd488..b2e5e1066 100644 --- a/bits/45_styutils.js +++ b/bits/45_styutils.js @@ -62,3 +62,5 @@ function find_mdw(collw, coll) { if(MDW === MAX_MDW) MDW = DEF_MDW; } } + +function px2pt(px) { return px * 72 / 96; } \ No newline at end of file diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index eeae99b99..9ebb2ed7f 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -272,7 +272,19 @@ function write_ws_xml_data(ws, opts, idx, wb) { if(ws[ref] === undefined) continue; if((cell = write_ws_xml_cell(ws[ref], ref, ws, opts, idx, wb)) != null) r.push(cell); } - if(r.length > 0) o[o.length] = (writextag('row', r.join(""), {r:rr})); + if(r.length > 0) { + // 18.3.1.73 row + var params = {r:rr}; + if(typeof ws['!rows'] !== 'undefined' && ws['!rows'].length > R) { + var row = ws['!rows'][R]; + if (row.hidden) params.hidden = 1; + var height = -1; + if (row.hpx) height = px2pt(row.hpx); + else if (row.hpt) height = row.hpt; + if (height > -1) { params.ht = height; params.customHeight = 1; } + }; + o[o.length] = (writextag('row', r.join(""), params)); + } } return o.join(""); }