This commit is contained in:
Cody Zhang
2020-10-08 17:38:22 +08:00
parent ff9710dc08
commit 86ce38d816

View File

@@ -136,7 +136,7 @@
*/
_self.parseCelltoCoordinate = function (tag) {
let re = /(\w+)(\d+)/;
let re = /([A-Za-z])(\d+)/;
let match = tag.match(re);
return new _self.CellCoordinate(_self.getIdxByAlphbet(match[1]), parseInt(match[2]) - 1);
@@ -320,7 +320,6 @@
// 建立要合併的欄位
var merged = [];
// 每個合併的欄位向下一行
for(let cell in sheet._merges){
let model = sheet._merges[cell].model;
@@ -343,6 +342,7 @@
});
});
// 清空所有資料
sheet._rows = [];
sheet._columns = [];
@@ -356,7 +356,6 @@
let newCol = cellCoordinate.col + 1;
let newRow = cellCoordinate.row + 1;
console.log(cell.value, newRow, pos);
// row 依插入幾行而變
if(newRow >= pos){
newRow = newRow + cnt;
@@ -403,6 +402,48 @@
titleCell.font = { bold: true };
}
/**
* 合併兩個 sheet
* @param {object} fromSheet
* @param {object} toSheet
* @param {Number} rowSeperate
*/
_self.mergeSheets = function(fromSheet, toSheet, rowSeperate){
// 兩個 table 之間的空行數
let seperate = rowSeperate + 1;
// fromSheet 新的開始行
let startRow = toSheet.rowCount + 1 + rowSeperate;
for (let r = 1; r <= fromSheet.rowCount; r++) {
for (let c = 1; c <= fromSheet.columnCount; c++) {
let newRow = r + startRow;
toSheet.getRow(newRow).getCell(c).value = fromSheet.getRow(r).getCell(c).value;
}
}
// 建立要合併的欄位
var merged = [];
for (let cell in fromSheet._merges) {
let model = fromSheet._merges[cell].model;
let range = new _self.MergedRange(model.top, model.left, model.bottom, model.right);
merged.push(range);
}
for (let i = 0; i < merged.length; i++) {
let range = merged[i];
toSheet.mergeCells(range.top + startRow, range.left, range.bottom + startRow, range.right);
}
}
// reasign everything just incase
_self = ns;