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

请给自己的网站首页布局电商网络销售是做什么

请给自己的网站首页布局,电商网络销售是做什么,wordpress 修改文章 不改变日期,怎么做app界面设计一. 概览 前端导出excel是比较常见的需求,比如下载excel模板和批量导出excel。目前比较常用的库有xlsx和excel,接下来就着两种方式进行梳理。 二. 下载模板 xlsx库实现: 示例核心代码如下: 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]),},);
  1. utils.json_to_sheet第一个参数是为了得到一个诸如 {物料名称: ‘’ “, 数量: ” “}的数据,通过reduce方法实现对象属性的累加;
  2. header: Object.values(excelColumn[key]): 第二个参数是为了得到的表头的集合,诸如[“物料名称”,"数量”]
 utils.book_append_sheet(book, sheet, 'Sheet1');
  1. 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 exportExcel<T>(name: string,key: string,colFn?: (d: T) => Record<string, 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');});
}; 

代码分析:

  1. 原理基本同下载模板,另附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.zhongyajixie.com/news/6272.html

相关文章:

  • 网站建设和web前端一样吗全国各城市疫情高峰感染高峰进度
  • 快递公司网站怎么做百度首页
  • markdown直接做网站指定关键词seo报价
  • 网站ftp的所有权归谁seo综合查询软件排名
  • wordpress建小说网站武汉网站快速排名提升
  • 汉中专业网站建设推广重庆seo教程博客
  • 新疆乌鲁木齐疫情解封最新消息网站推广优化外包便宜
  • 电商网站建设需要多少钱国际局势最新消息今天
  • 网站建设叫什么软件长春网站优化平台
  • 个人网站建设方案书模板网站搭建详细教程
  • 深圳做棋牌网站建设推广拉新任务的平台
  • 重庆江津网站设计公司哪家好怎么建立一个属于自己的网站
  • 接做网站简介广告商对接平台
  • 宜昌做网站的公司手机创建网站免费注册
  • iis 网站制作腾讯会议多少钱一个月
  • 专业的深圳网站建设网络营销案例分析
  • 武汉市网站建设seo搜索引擎优化工资
  • 科技服务公司网站模版谷歌推广费用多少
  • 动易网站模版的制作什么软件可以发帖子做推广
  • 网站建设 网站优化营销型网站建设专家网站建设的步骤
  • 石家庄在哪个省湖南seo公司
  • 怎么做网站优化 s无锡网站制作优化
  • 做网站需要的相关知识链接搜索
  • 做网站的公司叫什么软件推广普通话奋进新征程
  • 网站设计三把火科技郑州官网网络营销外包
  • 属于网络营销站点推广的是自助发稿
  • 国防教育网站建设方案苏州网络推广服务
  • 湖州做网站福州百度推广电话
  • 做织梦网站时图片路径显示错误免费精准客源
  • 网站安全怎么做域名交易