import { read, utils, writeFileXLSX } from 'xlsx'

const fillMerge = (sheet) =>{
        // 遍历合并单元格
        sheet['!merges'].forEach(
            item =>{
                // 保存合并的起始格子的信息,后面的格子都填充得和他一样
                let v = sheet[utils.encode_cell(item.s)]
                for(let c = item.s.c; c <= item.e.c; c++){
                    for(let r = item.s.r; r <= item.e.r; r++){
                        sheet[utils.encode_cell({c: c,r: r})] = v
                    }
                }
                
            }
        )
        return sheet
    }

解释其中的几个函数和参数:
sheet['!merges']:保存的表格的单元格合并情况,数据是一个Range,即{起始点坐标,结束点坐标}。如:
sheetJS中合并单元格用首格数据填充-LMLPHP
表示A1:A5。

utils.encode_cell(item.s):编码单元格,将坐标装换为Excel坐标。如:
sheetJS中合并单元格用首格数据填充-LMLPHP

03-31 03:06