当前位置: 首页 > news >正文

精美的微网站做实验网站

精美的微网站,做实验网站,湖北正规网站建设质量保障,wordpress首页标签页一. 概览 前端导出excel是比较常见的需求#xff0c;比如下载excel模板和批量导出excel。目前比较常用的库有xlsx和excel#xff0c;接下来就着两种方式进行梳理。 二. 下载模板 xlsx库实现#xff1a; 示例核心代码如下#xff1a; const excelColumn {details: {ma…一. 概览 前端导出excel是比较常见的需求比如下载excel模板和批量导出excel。目前比较常用的库有xlsx和excel接下来就着两种方式进行梳理。 二. 下载模板 xlsx库实现 示例核心代码如下 const excelColumn {details: {materialName: 物料名称,applyCount: 请购数量,unit: 单位,unitPrice: 单价,use: 用途,remark: 备注,},};function downloadTemplate(key, name) {const book utils.book_new();// 实例化一个Sheetconst sheet utils.json_to_sheet([Object.values(excelColumn[key]).reduce((p: any, c: string) {p[c] ;return p;}, {}),],{header: Object.values(excelColumn[key]),},);// 将Sheet写入工作簿utils.book_append_sheet(book, sheet, Sheet1);// 写入文件直接触发浏览器的下载writeFile(book, ${name}.xlsx);}代码分析 // 实例化一个Sheetconst sheet utils.json_to_sheet([Object.values(excelColumn[key]).reduce((p: any, c: string) {p[c] ;return p;}, {}),],{header: Object.values(excelColumn[key]),},);utils.json_to_sheet第一个参数是为了得到一个诸如 {物料名称: ‘’ “, 数量 ” “}的数据通过reduce方法实现对象属性的累加header: Object.values(excelColumn[key]) 第二个参数是为了得到的表头的集合诸如[“物料名称”数量”] utils.book_append_sheet(book, sheet, Sheet1);sheet1是定义工作簿的名称 exceljs库实现 示例核心代码如下 const excelHeadColums [{header: 物料名称,key: materialName,width: 12,},{header: 请购数量,key: applyCount,width: 14,},{header: 单位,key: unit,width: 14,}];const downLoadTemp () {// 创建工作簿const workbook new ExcelJS.Workbook();// 添加工作表const sheet1 workbook.addWorksheet(sheet1);sheet1.columns excelHeadColums;data.value.details.forEach((item) {sheet1.addRow(item);});// 导出表格workbook.xlsx.writeBuffer().then((buffer) {let _file new Blob([buffer], {type: application/octet-stream,});FileSaver.saveAs(_file, 模板.xlsx);});};代码分析 原理基本同xlsx只不过相比之下exceljs库更为强大可以自定义导出的excel的样式 三. 批量导出 xlsx库 function exportExcelT(name: string,key: string,colFn?: (d: T) Recordstring, any,{format,}: {format?: (d: T, c: string) string;} {},) {const book utils.book_new();const tableData data.value![key].map((d) colFn? colFn(d): (Object.keys(excelColumn[key]).reduce((p, c) {p[excelColumn[key][c]] format ? format(d, c) : d[c];return p;}, {}) as any),);const sheet utils.json_to_sheet(tableData, {header: Object.keys(tableData[0]),});utils.book_append_sheet(book, sheet, Sheet1);writeFile(book, ${name}.xlsx);}exceljs库 const exportReturnData (hkDetails) {// 创建工作簿const workbook new ExcelJS.Workbook();// 添加工作表const sheet1 workbook.addWorksheet(sheet1);sheet1.columns receiptTableHeadColums;const hkColumsData hkDetails;hkColumsData.forEach((item) {sheet1.addRow(item);});// 设置表头样式const titleCell sheet1.getRow(1);// 设置第一行的高度titleCell.height 30;// 设置第一行的字体样式titleCell.font {bold: true,};// 设置第一行文字对齐方式titleCell.alignment {vertical: middle,horizontal: center,};// 设置第一行单元格的背景色titleCell.fill {type: pattern,pattern: solid,fgColor: {argb: FFDFEAFC,},};// 导出表格workbook.xlsx.writeBuffer().then((buffer) {let _file new Blob([buffer], {type: application/octet-stream,});FileSaver.saveAs(_file, 数据表.xlsx);}); }; 代码分析 原理基本同下载模板另附exceljs库样式调整的基本应用。 四. excel库的其它基本使用 excel库除了设置单元格样式外另外常见的使用有设置单元格下拉框限制某个单元格不可编辑等 1. 设置下拉框 核心代码 const sheet1 workbook.addWorksheet(sheet1); for (let i 2; i totalExcelLength 1; i) {sheet1.getCell(M${i}).dataValidation {type: list,allowBlank: true,formulae: [中标流标],};sheet1.getCell(N${i}).dataValidation {type: list,allowBlank: true,formulae: [最高价最低价],};}2. 限制某个单元格不可编辑 核心代码 sheet1.protect(yourpassword, {selectLockedCells: true,selectUnlockedCells: true,});//解锁可编辑列const unlockColumns isInitProcess ? [9, 10, 11] : [13, 14];unlockColumns.forEach((columnIndex) {sheet1.getColumn(columnIndex).eachCell((cell, rowNumer) {if (rowNumer ! 1) {// 跳过标题行cell.protection { locked: false };}});});另外还有exceljs还有其它很多强大的功能在这就不一一举例。 五. 参考文章 这一定是前端导出Excel界的天花板 exceljs使用文档
http://www.hkea.cn/news/14480992/

相关文章:

  • 苏州网站设计公司官网海口模板建站定制网站
  • 编程猫的网站是什么什么是电商怎么做电商
  • 企业网站建设和网络营销的关系提供模板网站制作多少钱
  • 提升网站开发效率优化设计七年级下册数学答案
  • 大庆网站建设公司系统网站建设方案
  • 地方网站如何做昆明做网站猫咪科技
  • 挂机宝如何做网站建网站首页图片哪里找
  • 凡科做公司网站怎么收费seo思维
  • 佛山网站建设公司哪家比较好设计单位在厦门什么网站
  • 建设厅网站密码找回怎样做心理咨询网站
  • 什么叫商业网站wordpress云标签
  • 框架网站模板钟表网站开发背景文章
  • 电话网站源码西安做官网的公司
  • 佛山网站制作哪里实惠开业时网站可以做哪些活动吗
  • 网站建设做哪个科目网上骗人彩票网站是怎么做的
  • 潍坊 seo网站建设行业网站策划方案
  • 在哪里制作网页汕头搜索引擎优化服务
  • 温州做网站最好的招商网官网平台
  • 河北建设执业信息网站网站被加黑链
  • 建设大型视频网站需要的资金量义乌详情页制作
  • 社区网站开发画册设计排版的技巧和规则
  • 乐都网站建设网站中心
  • 哈尔滨网站建设报价价格王占军
  • 网站门户设计wordpress网站分享到朋友圈
  • 简约型网站设计王野天明星
  • 北京建网站价格优帮云长沙百度
  • 做电视外贸什么网站好漳州小程序开发
  • 刚做的网站关键字能搜到么wordpress 安装模板
  • 衡阳市建设工程质量监督站网站如何申请注册企业邮箱
  • 网站规划名词解释汉中市建设工程造价信息