当前位置: 首页 > Web前端 > JavaScript

导出ecxel表格的通用方法JS

时间:2023-03-27 13:53:42 JavaScript

import*asExcelJsfrom'exceljs';import{Workbook}from'exceljs';//导出ecxel表的通用方法interfaceExportExcelColumn{key:string;标头:字符串;宽度:数字;}类型ExportExcelDatasource={[key:string]:any};constexportExcel:({name,columns,datasource}:{name:string;columns:ExportExcelColumn[];datasource:ExportExcelDatasource[];})=>void=(params)=>{const{name,columns,datasource}=参数;//设置文件名consttime=moment().format('YYYYMMDDHHmmss');constexportName=名称+'_'+时间+'.xlsx';//创建工作簿constworkbook=newExcelJs.Workbook();//添加工作表constworksheet=workbook.addWorksheet('sheet');//设置工作表的默认行高worksheet.properties.defaultRowHeight=20;//设置列worksheet.columns=columnsasany;//为标题添加背景颜色。因为表头是第一行,所以可以通过getRow(1)获取表头所在的行constheaderRow=worksheet.getRow(1);//直接为此行设置背景色//headerRow.fill={//type:'pattern',//pattern:'solid',//fgColor:{argb:'dff8ff'},//}//按单元格设置样式,更精确headerRow.eachCell((cell,colNum)=>{//设置背景颜色cell.fill={type:'pattern',pattern:'solid',fgColor:{argb:'99ccff'}};//设置字体cell.font={bold:true,//italic:true,size:11//name:'MicrosoftYahei',//color:{argb:'ff0000'},};//设置对齐cell.alignment={vertical:'middle',horizo??ntal:'center',wrapText:false};//设置边框cell.border={bottom:{style:'瘦'},右:{风格:'瘦'}};});//添加行constrows=worksheet.addRows(datasource);//根据testNumber排序然后下载//设置内容行行的样式?.forEach((row)=>{row.eachCell((cell,colNum)=>{//设置背景色cell.fill={type:'pattern',pattern:'solid',fgColor:{argb:'ffff99'}};//设置字体cell.font={size:11//name:'MicrosoftYahei',};//设置对齐方式cell.alignment={vertical:'m中间',水平:'中心',wrapText:假};//设置边框cell.border={bottom:{style:'thin'},right:{style:'thin'}};});});//导出excelsaveWorkbook(workbook,exportName);};