forked from sheetjs/sheetjs
Add support for textRotation
This commit is contained in:
parent
c3af249415
commit
aa8f3a759f
19
README.md
19
README.md
@ -449,20 +449,27 @@ top-level attributes: `fill`, `font`, `numFmt`, `alignment`, and `border`.
|
||||
| | | "0.00%;\\(0.00%\\);\\-;@" // string specifying a custom format, escaping special characters
|
||||
| alignment | vertical | "bottom"||"center"||"top"
|
||||
| | horizontal | "bottom"||"center"||"top"
|
||||
| | textRotation | Number from 0 to 180 or 255 (default is 0)
|
||||
| | | "90" is rotated up 90 degrees
|
||||
| | | "45" is rotated up 45 degrees
|
||||
| | | "135" is rotated down 45 degrees
|
||||
| | | "180" is rotated down 180 degrees
|
||||
| | | "255" is special, aligned vertically
|
||||
| border | top | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | bottom | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | left | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | right | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | diagonal | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | diagonalUp | true||false
|
||||
| | diagonalDown | true||false
|
||||
| | left | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | right | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | diagonal | { style: BORDER_STYLE, color: COLOR_SPEC }
|
||||
| | diagonalUp | true||false
|
||||
| | diagonalDown | true||false
|
||||
|
||||
|
||||
|
||||
**COLOR_SPEC** Colors for `fill`, `font`, and `border` are specified as objects, either:
|
||||
* `{ auto: 1}` specifying automatic values
|
||||
* `{ rgb: "FFFFAA00" }` specifying a hex ARGB value
|
||||
* `{ theme: "1", tint: "-0.25"}` specifying an integer index to a theme color and a tint value (default 0)
|
||||
* `{indexed: 64}` default value for `fill.bgColor`
|
||||
* `{ indexed: 64}` default value for `fill.bgColor`
|
||||
|
||||
** BORDER_STYLE** are piped directly to XML and may take on one of the following values:
|
||||
* `thin`
|
||||
|
@ -192,10 +192,11 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
if (attributes.alignment.vertical) { $alignment.attr('vertical', attributes.alignment.vertical);}
|
||||
if (attributes.alignment.indent) { $alignment.attr('indent', attributes.alignment.indent);}
|
||||
if (attributes.alignment.wrapText) { $alignment.attr('wrapText', attributes.alignment.wrapText);}
|
||||
if (attributes.alignment.textRotation) { $alignment.attr('textRotation', attributes.alignment.textRotation);}
|
||||
|
||||
$xf.append($alignment).attr('applyAlignment',1)
|
||||
|
||||
}
|
||||
|
||||
this.$cellXfs.append($xf);
|
||||
var count = +this.$cellXfs.children().length;
|
||||
|
||||
|
5
test.js
5
test.js
@ -57,6 +57,8 @@ var paths = {
|
||||
var N1 = 'XLSX';
|
||||
var N2 = 'XLSB';
|
||||
|
||||
|
||||
|
||||
function parsetest(x, wb, full, ext) {
|
||||
ext = (ext ? " [" + ext + "]": "");
|
||||
if(!full && ext) return;
|
||||
@ -111,7 +113,7 @@ function parsetest(x, wb, full, ext) {
|
||||
var csv = fixcsv(X.utils.make_csv(wb.Sheets[ws]));
|
||||
var result = (file == csv);
|
||||
if (!result) { // try again parsing the file ourselves
|
||||
// somehow these workbooks are getting here having been parsed without {cellNF: true}
|
||||
// somehow these workbooks are getting here having been parsec without {cellNF: true}
|
||||
// so re-read them with {cellNF:true} and all works just great.
|
||||
// THus these CSV tests seem to fail due to issue with test framework rather than XLSX itself
|
||||
var wb1 = X.readFile(wb.FILENAME, {cellStyles:true, cellNF:true});
|
||||
@ -167,7 +169,6 @@ describe('should parse test files', function() {
|
||||
var wb = wbtable[dir + x];
|
||||
if(!wb) wb = X.readFile(dir + x, opts);
|
||||
var FILENAME = wb.FILENAME;
|
||||
console.error(JSON.stringify(opts))
|
||||
wb = X.read(X.write(wb, {type:"buffer", bookType:ext.replace(/\./,"")}), {WTF:opts.WTF, cellNF: true})
|
||||
wb.FILENAME = FILENAME;
|
||||
|
||||
|
3
xlsx.js
3
xlsx.js
@ -5693,10 +5693,11 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
if (attributes.alignment.vertical) { $alignment.attr('vertical', attributes.alignment.vertical);}
|
||||
if (attributes.alignment.indent) { $alignment.attr('indent', attributes.alignment.indent);}
|
||||
if (attributes.alignment.wrapText) { $alignment.attr('wrapText', attributes.alignment.wrapText);}
|
||||
if (attributes.alignment.textRotation) { $alignment.attr('textRotation', attributes.alignment.textRotation);}
|
||||
|
||||
$xf.append($alignment).attr('applyAlignment',1)
|
||||
|
||||
}
|
||||
|
||||
this.$cellXfs.append($xf);
|
||||
var count = +this.$cellXfs.children().length;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user