前端下载sheetjs处理\n \r 实现换行
sheetjs官网https://docs.sheetjs.com/docs/
第一种方案 如果在标签里面加
vue scope 会在
标签里面加版本号(编译的时候加版本号)下载下来不分行
// let nodeBr = document.createElement("br")// let dataV = document.getElementById("exportTable").attributes[0].name;// nodeBr.setAttribute(dataV, "");
第二种方案
// 把需要换行的改为<br/>
// 不需要处理版本号
if (String(num).indexOf('#@#') !== -1) {return String(num).replaceAll('#@#', '<br/>');} else {return num}
前端下载代码
// props table (id) name(下载下来excel格式)
<template><el-buttontype="success"size="mini"icon="el-icon-upload" @click="exportEvent">导出</el-button>
</template><script>
import FileSaver from "file-saver";
import * as XLSX from 'xlsx'
import {omit, handelNewWs} from "../../../utils/data";export default {name: "DERIVE.vue",data() {return {ws:'',grid:'',};},//需要的参数props: {id: {type: String,default: "Table",},name: {type: String,default: "Table",},},methods: {wsHandel() {this.grid = XLSX.utils.table_to_book(document.querySelector("#" + this.id),);this.ws = this.grid.Sheets["Sheet1"];let gatherData = {raw: true};let grid1 = XLSX.utils.table_to_book(document.querySelector("#" + this.id),gatherData);let ws1 = grid1.Sheets["Sheet1"];const newWs1=omit(ws1,'!rows','!cols','!fullref','!ref') // 取出表格对象中用不到的const handelNewWsArr = handelNewWs(newWs1) //对象变数组const reg= /[!~@#$&><=]+/gi // 验证里面是否含有~@#$&const that =thishandelNewWsArr.forEach(item => {const v =item['v'] // 表格值const vKey=item['key'] //表格A1 A2if(v){// 处理%if( v.indexOf('%')!=-1){if(!reg.test(v) ){if(v.indexOf('.')!=-1){ // 处理%有小数点this.ws[vKey].z = "0.00%"; // format the celldelete this.ws[vKey].w;XLSX.utils.format_cell(that.ws[vKey]); // refresh cell}else{ // 处理%没有小数点this.ws[vKey].z = "0%"; // format the celldelete this.ws[vKey].w;XLSX.utils.format_cell(that.ws[vKey]); // refresh cell}}}else{if(parseFloat(v)!='NAN'){if(v.indexOf('.')!=-1){this.ws[vKey].z = "0.00"; // format the celldelete this.ws[vKey].w;XLSX.utils.format_cell(that.ws[vKey]); // refresh cell}else{this.ws[vKey].z = "0"; // format the celldelete this.ws[vKey].w;XLSX.utils.format_cell(that.ws[vKey]);}}}}})},// 导出Excel表格事件exportEvent() {const that=thisthis.wsHandel()let workbook = XLSX.write(this.grid, {bookType: "xlsx",bookSST: true,type: "array",});try {FileSaver.saveAs(new Blob([workbook], {type: "application/octet-stream;charset=utf-8",}),that.name + ".xlsx",);} catch (e) {if (typeof console !== "undefined") console.log(e, workbook);}return workbook;},}
}
</script><style scoped></style>
前端下载sheetjs处理\n \r 实现换行相关推荐
- 这应该是你见过的最全前端下载总结
这应该是你见过的最全前端下载总结 frontend-download-sample 自己整理的一些项目中遇到过的关于上传和下载的一些Demo,大前端系列(也就是纯前端 + node端完成的下载,只要获 ...
- 【web】【django】datatable的button扩展实现纯前端下载和copy指定列内容,以及django的HTTPResponse实现下载功能
Table of Contents 功能需求描述 一 使用Datatables实现纯前端下载.拷贝 二 query db 实现下载(django) 功能需求描述 用户需要以网页为媒介,从DB里拉取一些 ...
- 纯前端下载 csv 格式文件
纯前端下载 csv 文件 table 数据 data() {return {header: [{_id: '01',label: '姓名',prop: 'name',},{_id: '02',labe ...
- 前端下载利器FileSaver
前言:想必很多小伙伴都用过 a标签拿来下载的吧,里面很多坑相信也知道了,用起来真的是超级简单.使用方法如下: href: 文件的绝对/相对地址download: 文件名(可省略,省略后浏览器自动识别源 ...
- 纯前端下载pdf链接文件,而不是打开预览的解决方案
纯前端下载pdf链接文件,而不是打开预览的解决方案 参考文章: (1)纯前端下载pdf链接文件,而不是打开预览的解决方案 (2)https://www.cnblogs.com/jackson-yqj/ ...
- 前端下载二进制流文件
更多文章 平时在前端下载文件有两种方式,一种是后台提供一个 URL,然后用 window.open(URL) 下载,另一种就是后台直接返回文件的二进制内容,然后前端转化一下再下载. 由于第一种方式比较 ...
- new blob文件设置编码_前端下载文件amp;下载进度
前端最基础的就是 HTML+CSS+Javascript.掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些.前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础 ...
- Web前端下载文件的几种常见方式
1 标签or点击事件 标签下载 <a href="xxxxx"> 或 <a href="xxxxx" download="xxxx& ...
- Windows、Unix、Mac不同操作系统的换行问题 回车符\r和换行符\n
一.概念: 换行符'\n'和回车符'\r' (1)换行符就是另起一行 --- '\n' 10 换行(newline) (2)回车符就是回到一行的开头 --- '\r' 13 回车(return) 所 ...
最新文章
- flex 设置换行flex-wrap
- 结合计算机专业谈创新,计算机专业学生创新能力培养论文
- 身份认证设计的基本准则
- python接口在哪里_在Python中实现接口?
- ssd1306 oled 行扫描方式
- Android 12 WiFi 架构
- [高数][高昆轮][高等数学上][第一章-函数与极限]02.数列的极限
- UDP传输rtp数据包丢帧
- 通过webSocket实现app产生的数据在网页实时显示
- Javascript如何阻止事件的默认行为?
- php代码审计之chinaz小试牛刀
- numpy.random.randn()与rand()的区别
- proe 5.0 m060安装
- 你不得不关注的5 大Android 开发技术——2020
- 深度学习和计算机视觉相关总结
- 拿去打包上线!一套代码实现1对1 、1对N在线课堂与低延迟大班课
- Linux虚拟文件系统vfs及proc详解
- MAC系统“无法验证开发者”问题
- tp5 php 对接通联支付的协议支付
- FlyMcu串口ISP下载STM32程序教程