forked from sheetjs/sheetjs
Added support for borders
This commit is contained in:
parent
1f02e5bea2
commit
91ec052ae6
@ -32,6 +32,10 @@ var XmlNode = (function () {
|
||||
}
|
||||
|
||||
XmlNode.prototype.attr = function (attr, value) {
|
||||
if (value == undefined) {
|
||||
delete this._attributes[attr];
|
||||
return this;
|
||||
}
|
||||
if (arguments.length == 0) {
|
||||
return this._attributes;
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
.attr("numFmtId", numFmtId)
|
||||
.attr("fontId", fontId)
|
||||
.attr("fillId", fillId)
|
||||
.attr("borderId", 0)
|
||||
.attr("borderId", borderId)
|
||||
.attr("xfId", "0");
|
||||
|
||||
if (fontId > 0) {
|
||||
@ -200,6 +200,8 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
var count = +this.$cellXfs.children().length;
|
||||
|
||||
this.$cellXfs.attr('count', count);
|
||||
|
||||
console.log($xf);
|
||||
return count - 1;
|
||||
},
|
||||
|
||||
@ -312,22 +314,54 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
return count - 1;
|
||||
},
|
||||
|
||||
_addBorder: function (attributes) {
|
||||
if (!attributes) {
|
||||
return 0;
|
||||
_getSubBorder: function(direction, spec) {
|
||||
|
||||
var $direction = XmlNode(direction);
|
||||
if (spec){
|
||||
if (spec.style) $direction.attr('style', spec.style);
|
||||
if (spec.color) {
|
||||
var $color = XmlNode('color');
|
||||
if (spec.color.auto) {
|
||||
$color.attr('auto', spec.color.auto);
|
||||
}
|
||||
else if (spec.color.rgb) {
|
||||
$color.attr('rgb', spec.color.rgb);
|
||||
}
|
||||
else if (spec.color.theme || spec.color.tint) {
|
||||
$color.attr('theme', spec.color.theme || "1");
|
||||
$color.attr('tint', spec.color.tint || "0");
|
||||
}
|
||||
$direction.append($color)
|
||||
}
|
||||
}
|
||||
return $direction;
|
||||
},
|
||||
|
||||
_addBorder: function (attributes) {
|
||||
if (!attributes) { return 0; }
|
||||
|
||||
var self = this;
|
||||
|
||||
var $border = XmlNode('border')
|
||||
.append(new XmlNode('left'))
|
||||
.append(new XmlNode('right'))
|
||||
.append(new XmlNode('top'))
|
||||
.append(new XmlNode('bottom'))
|
||||
.append(new XmlNode('diagonal'));
|
||||
.attr("diagonalUp",attributes.diagonalUp)
|
||||
.attr("diagonalDown",attributes.diagonalDown);
|
||||
|
||||
var directions = ["left","right","top","bottom","diagonal"];
|
||||
|
||||
directions.forEach(function(direction) {
|
||||
$border.append(self._getSubBorder(direction, attributes[direction]))
|
||||
});
|
||||
|
||||
// if (!attributes.left && !attributes.right && !attributes.top && !attributes.bottom && !attributes.diagonal) { return 0;}
|
||||
|
||||
console.log($border.toXml());
|
||||
|
||||
this.$borders.append($border);
|
||||
|
||||
var count = this.$borders.children().length;
|
||||
this.$borders.attr('count', count);
|
||||
return count;
|
||||
console.log(count);
|
||||
return count -1;
|
||||
},
|
||||
|
||||
toXml: function () {
|
||||
|
58
xlsx.js
58
xlsx.js
@ -5445,6 +5445,10 @@ var XmlNode = (function () {
|
||||
}
|
||||
|
||||
XmlNode.prototype.attr = function (attr, value) {
|
||||
if (value == undefined) {
|
||||
delete this._attributes[attr];
|
||||
return this;
|
||||
}
|
||||
if (arguments.length == 0) {
|
||||
return this._attributes;
|
||||
}
|
||||
@ -5667,7 +5671,7 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
.attr("numFmtId", numFmtId)
|
||||
.attr("fontId", fontId)
|
||||
.attr("fillId", fillId)
|
||||
.attr("borderId", 0)
|
||||
.attr("borderId", borderId)
|
||||
.attr("xfId", "0");
|
||||
|
||||
if (fontId > 0) {
|
||||
@ -5697,6 +5701,8 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
var count = +this.$cellXfs.children().length;
|
||||
|
||||
this.$cellXfs.attr('count', count);
|
||||
|
||||
console.log($xf);
|
||||
return count - 1;
|
||||
},
|
||||
|
||||
@ -5809,22 +5815,54 @@ if ((typeof 'module' != 'undefined' && typeof require != 'undefined') || (typeo
|
||||
return count - 1;
|
||||
},
|
||||
|
||||
_addBorder: function (attributes) {
|
||||
if (!attributes) {
|
||||
return 0;
|
||||
_getSubBorder: function(direction, spec) {
|
||||
|
||||
var $direction = XmlNode(direction);
|
||||
if (spec){
|
||||
if (spec.style) $direction.attr('style', spec.style);
|
||||
if (spec.color) {
|
||||
var $color = XmlNode('color');
|
||||
if (spec.color.auto) {
|
||||
$color.attr('auto', spec.color.auto);
|
||||
}
|
||||
else if (spec.color.rgb) {
|
||||
$color.attr('rgb', spec.color.rgb);
|
||||
}
|
||||
else if (spec.color.theme || spec.color.tint) {
|
||||
$color.attr('theme', spec.color.theme || "1");
|
||||
$color.attr('tint', spec.color.tint || "0");
|
||||
}
|
||||
$direction.append($color)
|
||||
}
|
||||
}
|
||||
return $direction;
|
||||
},
|
||||
|
||||
_addBorder: function (attributes) {
|
||||
if (!attributes) { return 0; }
|
||||
|
||||
var self = this;
|
||||
|
||||
var $border = XmlNode('border')
|
||||
.append(new XmlNode('left'))
|
||||
.append(new XmlNode('right'))
|
||||
.append(new XmlNode('top'))
|
||||
.append(new XmlNode('bottom'))
|
||||
.append(new XmlNode('diagonal'));
|
||||
.attr("diagonalUp",attributes.diagonalUp)
|
||||
.attr("diagonalDown",attributes.diagonalDown);
|
||||
|
||||
var directions = ["left","right","top","bottom","diagonal"];
|
||||
|
||||
directions.forEach(function(direction) {
|
||||
$border.append(self._getSubBorder(direction, attributes[direction]))
|
||||
});
|
||||
|
||||
// if (!attributes.left && !attributes.right && !attributes.top && !attributes.bottom && !attributes.diagonal) { return 0;}
|
||||
|
||||
console.log($border.toXml());
|
||||
|
||||
this.$borders.append($border);
|
||||
|
||||
var count = this.$borders.children().length;
|
||||
this.$borders.attr('count', count);
|
||||
return count;
|
||||
console.log(count);
|
||||
return count -1;
|
||||
},
|
||||
|
||||
toXml: function () {
|
||||
|
Loading…
Reference in New Issue
Block a user