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

关于做营销型网站的建议合肥建设网站哪家好

关于做营销型网站的建议,合肥建设网站哪家好,潍坊注册公司流程和费用标准,app十大免费下载排行榜目录 1.说明 2.示例--excel 3.示例--csv 1.说明 在开发中经常会出现下载csv或者excel文件,可以通过后端下载,也可以通过前端下载,如果在前端页面中可以直接获取到要下载的数据,可以通过前端下载的方式,更加高效便捷…

目录

1.说明

2.示例--excel

3.示例--csv


1.说明

在开发中经常会出现下载csv或者excel文件,可以通过后端下载,也可以通过前端下载,如果在前端页面中可以直接获取到要下载的数据,可以通过前端下载的方式,更加高效便捷

2.示例--excel

①安装依赖

npm install xlsx
# 或者
yarn add xlsx

②在目标文件中引入依赖

import * as XLSX from 'xlsx';

③根据页面中的数据,生成excel文件

const exportToExcel = async () => {const orderedCheckedRecords = await getOrderSelData()if (!orderedCheckedRecords || orderedCheckedRecords.length === 0) {MessageBox.error('请选择要导出的数据');return;}// 获取有效列信息,删除敏感列信息const col: [] = await getNoSensitivityCol({colList: tableCol.value})// 获取表头并添加类型const headers: ColumnHeader[] = col.filter((col: any) => col.visible == 1).map((col: any) => ({title: col.title,dataIndex: col.dataIndex}));// 构建Excel数据const excelData = orderedCheckedRecords.map((record: any) => {const row: any = {};headers.forEach((header: ColumnHeader) => {row[header.dataIndex] = record[header.dataIndex];});return row;});// 创建工作簿const wb = XLSX.utils.book_new();// 创建工作表 - 使用类型定义const ws = XLSX.utils.json_to_sheet(excelData, {header: headers.map((h: ColumnHeader) => h.dataIndex)});// 添加表头标题行XLSX.utils.sheet_add_aoa(ws, [headers.map((h: ColumnHeader) => h.title)], {origin: 'A1'});// 设置列宽const colWidth = headers.map(() => ({wch: 10}));ws['!cols'] = colWidth;const fileName = prop.docName ?? '数据导出'// 将工作表添加到工作簿XLSX.utils.book_append_sheet(wb, ws, 'data');// 生成Excel文件并下载XLSX.writeFile(wb, `${fileName}.xlsx`);
};

在前端页面中获取要下载的数据信息及文件标题信息

构建导出数据信息,每条数据的对象中的的key我使用的是每列的唯一标识,即dataIndex,value为列标识,并对要导出的列信息进行了过滤处理,只导出必要的列信息

创建工作表,做好数据和表头的对应,

添加标题行,并设置列宽

设置导出的sheet名,注意名称有长度限制,不要超过30位,

3.示例--csv

const exportToCSV = async () => {const orderedCheckedRecords = await getOrderSelData();if (!orderedCheckedRecords || orderedCheckedRecords.length === 0) {MessageBox.error('请选择要导出的数据');return;}// 获取有效列信息,删除敏感列信息const col: [] = await getNoSensitivityCol({colList: tableCol.value})// 获取表头const headers = col.filter((col: any) => col.visible == 1).map((col: any) => ({title: col.title,dataIndex: col.dataIndex}));// 构建CSV数据let csvContent = '\ufeff'; // 添加BOM标记以支持中文// 添加表头csvContent += headers.map((h: ColumnHeader) => `"${h.title}"`).join(',') + '\n';// 添加数据行orderedCheckedRecords.forEach((record: any) => {const row = headers.map((header: ColumnHeader) => {const value = record[header.dataIndex];// 处理包含逗号、引号或换行符的值if (value === null || value === undefined) {return '""';}const stringValue = String(value);if (stringValue.includes(',') || stringValue.includes('"') || stringValue.includes('\n')) {return `"${stringValue.replace(/"/g, '""')}"`;}return `"${stringValue}"`;});csvContent += row.join(',') + '\n';});// 创建Blob对象const blob = new Blob([csvContent], {type: 'text/csv;charset=utf-8'});// 创建下载链接const fileName = prop.docName ?? '数据导出'const link = document.createElement('a');link.href = URL.createObjectURL(blob);link.download = `${fileName}.csv`;// 触发下载document.body.appendChild(link);link.click();document.body.removeChild(link);
};

生成csv文件时要注意对中文的处理以及对特殊字符的处理,因为csv是通过逗号进行区分的

CSV 文件有以下规则需要遵守:

  • 包含逗号的值必须用引号包裹,否则会被解析为多个列

  • 包含换行符的值必须用引号包裹

  • 如果值本身包含引号,需要将引号转义为两个引号

  • 统一用引号包裹所有值可以避免很多解析问题


文章转载自:

http://pYwVqs7F.cpkcq.cn
http://AO4VymiZ.cpkcq.cn
http://Vij5irNV.cpkcq.cn
http://sQnag0lD.cpkcq.cn
http://ED9rUJpT.cpkcq.cn
http://bZqRbEtf.cpkcq.cn
http://METXAeoi.cpkcq.cn
http://XEl41QyA.cpkcq.cn
http://hU2N0km7.cpkcq.cn
http://vYy5iGW6.cpkcq.cn
http://Aia7nh0x.cpkcq.cn
http://PTCrpXRa.cpkcq.cn
http://njGGVQwN.cpkcq.cn
http://7gRZxwbn.cpkcq.cn
http://aPGAkOL9.cpkcq.cn
http://jXj9yyG1.cpkcq.cn
http://uHergW9s.cpkcq.cn
http://fpHNtQim.cpkcq.cn
http://M34v3wyN.cpkcq.cn
http://u60l7Yfd.cpkcq.cn
http://jbwu28At.cpkcq.cn
http://BhWc8Hex.cpkcq.cn
http://gI6eUdcv.cpkcq.cn
http://LhQ5g2hc.cpkcq.cn
http://KVXcFMqi.cpkcq.cn
http://io0qQy7o.cpkcq.cn
http://ma2OPZc8.cpkcq.cn
http://ul3HIzDW.cpkcq.cn
http://khO5jAfJ.cpkcq.cn
http://XBlfG2zw.cpkcq.cn
http://www.dtcms.com/wzjs/683809.html

相关文章:

  • 外贸网站 字体淄博网站制作价格低
  • 烟台网站建设 熊掌号足球世界积分榜
  • 惠州建设局网站首页wordpress相册插件下载
  • 福州专业网站制作设计大宗交易平台查询
  • 怎样建设自己的物流信息网站手机wap网页游戏
  • 重庆h5网站建设模板高端商务经纪网站建设
  • 长沙商城网站建设报价公示时尚女装网站设计
  • 漳州做网站喊多少钱购物网站开发jdk
  • 建设通和天眼查网站网站建设源码下载
  • 网站备案成功后怎么办wordpress文章自动采集
  • 网站建设服务方案电子商务公司名称大全集最新
  • 专门做三国战纪的网站叫什么意思淘宝网页制作视频教程
  • 做网站要会写什么重庆渝能建设集团有限公司网站
  • 网站建设推广服务费的税率是北京网站外包公司
  • 建设法规网站韩国明星都在那个网站做直播
  • 资深的家居行业网站开发杭州做网站找力果
  • 沈阳网站建设tlmh网站广告推广平台
  • wordpress网站布局网址英文
  • 网站是什么意思例如静态网站后台
  • 蓝色风格的网站电子网站建设基本流程图
  • 南昌大型网站制作wordpress 前端用户
  • 网站备案 收费电子商务网站规划的原则有哪些
  • 富阳区建设局网站首页4399看片手机在线高清动画
  • 怎么做网站网站推广中阔浩潮建设工程有限公司网站
  • 工业企业网站建设wordpress防止机器人注册
  • 县城乡建设局网站wordpress输出外部文章
  • 仿网站建设教程视频中交建设集团 网站
  • 网站制作商seo文章排名优化
  • 制作xml网站地图文件中国商标注册网
  • 网站设计的基本知识结构wordpress使用手册