需求是这样的:
东西太多了,合并单元格,行高,列宽,边框样式,字体样式,合计啥的,直接上代码吧
export function exportExce({
header, //子表数据头信息
data, //子表数据
masterTable, //主表数据
foot, //页脚
filename, //文件名
autoWidth = true,
bookType = 'xlsx'
} = {
}) {
filename = filename || 'excel'
data = [...data]
data.unshift(header); //子表添加头信息
data.push(foot) //添加页脚(不一定非要在这填,可以后边追加)
data.push([""]) //加一行空,不知为啥最后一行老是不展示,出此下策,如果没这个问题的话可以去掉
let ws_name = "SheetJS";
//处理主表内容
let keyList = Object.keys(masterTable)
let valueList = Object.values(masterTable)
let mastertableList = []
for (let i = 0; i < keyList.length; i += 2) {
mastertableList.push([keyList[i], valueList[i] ? valueList[i] : '', '', '', keyList[i + 1] ? keyList[i + 1] : '', valueList[i + 1] ? valueList[i + 1] : ''])
}
let newTableData = [...mastertableList, [], ...data]//这个新数组是主表+字表
let wb = new Workbook(),
ws = sheet_from_array_of_arrays2(newTableData, 1);//得到单元格对象
if (autoWidth) {
//设置所有格属性
/*设置worksheet每列的最大宽度*/