date = '${year}年${month}月
;
console.log(date);
sht.Activate();
let max_rows = sht.Range(“B7”).End(xlDown).Row;
let max_cols = sht.Range(“B7”).End(xlToRight).Column;
n = i1?7:8;
rng = sht.Range(sht.Cells(n, 1), sht.Cells(max_rows, max_cols));
rng.Select();
Selection.Copy();
dest.Activate();
dest.Range(A${pos}
).Activate();
dest.Paste();
// 复制第一张工作表的列宽
if(i1) dest.PasteSpecial(xlPasteColumnWidths);
for(k=0;k<max_rows-7;k++) dates.push(date);
pos += max_rows-n+1;
}
Application.ScreenUpdating = true;
dest.Columns(“B:B”).Insert();
dest.Range(“B1”).Value2 = “月份”;
dest.Range(“B2”).Resize(dates.length).Value2 = WorksheetFunction.Transpose(dates);
dest.Columns.Item(“B:B”).ColumnWidth = 20;
dest.Columns.Item(“B:B”).AutoFit();
dest.Range(“A2”).Value2 = “1”;
dest.Range(“A2”).Select();
Selection.AutoFill(dest.Range(A2:A${pos-1}
), xlFillDefault);
dest.Columns(“A:A”).AutoFit();
dest.Rows(1:${pos-1}
).AutoFit();
dest.Name = “总表”;
wb_result.SaveAs(${wb.Path}\\${wb.Name.replace(/\.[^.]+$/,"")}\_合并.xlsx
);
}
结果得到与上述完全一致的结果。
注意:COM组件提供Python的接口Resize方法失效,可以使用GetResize替代。
保留样式拆分表格的Python实现
之前的完整实现方法请查看:
深度剖析Excel表拆分的三项技术
https://xxmdmst.blog.csdn.net/article/det