Skip to content

Add freezepanes fix styleid #69

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
node_modules
misc/coverage.html
misc/prof.js
.DS_Store

v8.log
tmp
*.txt
Expand Down
5 changes: 5 additions & 0 deletions bits/47_styxml.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,11 @@ function parse_fonts(t, opts) {
break;
case '<font':
break;
case '<font/>':
styles.Fonts.push(font);
;
font = {};
break;
case '</font>':
styles.Fonts.push(font);
;
Expand Down
12 changes: 12 additions & 0 deletions bits/67_wsxml.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;
var hlinkregex = /<hyperlink[^>]*\/>/g;
var dimregex = /"(\w*:\w*)"/;
var colregex = /<col[^>]*\/>/g;
var freezeregex = /<pane[^>]*\/>/g;
/* 18.3 Worksheets */
function parse_ws_xml(data, opts, rels) {
if (!data) return data;
Expand All @@ -28,6 +29,11 @@ function parse_ws_xml(data, opts, rels) {
mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"") + 1));
}

if (opts.cellStyles && data.indexOf("</sheetView>") !== -1) {
var paneData = data.match(freezeregex);
var freezeData = parse_ws_xml_pane(paneData)
}

/* 18.3.1.17 cols CT_Cols */
var columns = [];
if (opts.cellStyles && data.indexOf("</cols>") !== -1) {
Expand Down Expand Up @@ -60,6 +66,7 @@ function parse_ws_xml(data, opts, rels) {
}
if (mergecells.length > 0) s["!merges"] = mergecells;
if (columns.length > 0) s["!cols"] = columns;
if (freezeData) s["!freeze"] = freezeData;
return s;
}

Expand Down Expand Up @@ -104,6 +111,11 @@ function parse_ws_xml_hlinks(s, data, rels) {
}
}

function parse_ws_xml_pane( paneData) {
var fD = parsexmltag(paneData[0], true);
return fD;
}

function parse_ws_xml_cols(columns, cols) {
var seencol = false;
for (var coli = 0; coli != cols.length; ++coli) {
Expand Down
19 changes: 19 additions & 0 deletions npm-debug.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'make' ]
2 info using [email protected]
3 info using [email protected]
4 verbose stack Error: missing script: make
4 verbose stack at run (/usr/local/lib/node_modules/npm/lib/run-script.js:151:19)
4 verbose stack at /usr/local/lib/node_modules/npm/lib/run-script.js:61:5
4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:356:5
4 verbose stack at handleExists (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:329:20)
4 verbose stack at FSReqWrap.cb [as oncomplete] (fs.js:240:19)
5 verbose cwd /Users/SPIN/Documents/Code/SPINProjects/js-xlsx
6 error Darwin 16.4.0
7 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "make"
8 error node v7.5.0
9 error npm v4.1.2
10 error missing script: make
11 error If you need help, you may report this error at:
11 error <https://github.com/npm/npm/issues>
12 verbose exit [ 1, true ]
19 changes: 19 additions & 0 deletions xlsx.js
Original file line number Diff line number Diff line change
Expand Up @@ -4732,6 +4732,11 @@ function parse_fonts(t, opts) {
break;
case '<font':
break;
case '<font/>':
styles.Fonts.push(font);
;
font = {};
break;
case '</font>':
styles.Fonts.push(font);
;
Expand Down Expand Up @@ -7545,6 +7550,7 @@ var sheetdataregex = /<(?:\w+:)?sheetData>([^\u2603]*)<\/(?:\w+:)?sheetData>/;
var hlinkregex = /<hyperlink[^>]*\/>/g;
var dimregex = /"(\w*:\w*)"/;
var colregex = /<col[^>]*\/>/g;
var freezeregex = /<pane[^>]*\/>/g;
/* 18.3 Worksheets */
function parse_ws_xml(data, opts, rels) {
if (!data) return data;
Expand All @@ -7566,6 +7572,13 @@ function parse_ws_xml(data, opts, rels) {
mergecells[ridx] = safe_decode_range(merges[ridx].substr(merges[ridx].indexOf("\"") + 1));
}

if (opts.cellStyles && data.indexOf("</sheetView>") !== -1) {
var paneData = data.match(freezeregex);
if (paneData){
var freezeData = parse_ws_xml_pane(paneData);
}
}

/* 18.3.1.17 cols CT_Cols */
var columns = [];
if (opts.cellStyles && data.indexOf("</cols>") !== -1) {
Expand Down Expand Up @@ -7598,6 +7611,7 @@ function parse_ws_xml(data, opts, rels) {
}
if (mergecells.length > 0) s["!merges"] = mergecells;
if (columns.length > 0) s["!cols"] = columns;
if (freezeData) s["!freeze"] = freezeData;
return s;
}

Expand Down Expand Up @@ -7642,6 +7656,11 @@ function parse_ws_xml_hlinks(s, data, rels) {
}
}

function parse_ws_xml_pane( paneData) {
var fD = parsexmltag(paneData[0], true);
return fD;
}

function parse_ws_xml_cols(columns, cols) {
var seencol = false;
for (var coli = 0; coli != cols.length; ++coli) {
Expand Down
Loading