vue 导出excel 多个sheet
<!DOCTYPE html>
<html lang="en">
<head></head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<script src="https://cdn.bootcss.com/xlsx/0.15.1/xlsx.full.min.js"></script>
</head>
<body>
<script>
// 数据
let data = { '基本信息': [{name: '李四', sex: 'nan', age: 12}], '成绩': [{class: '计算机', teacher: 'Mrs wang', score: 90}] };
let columnHeaders = { '基本信息': ['name', 'sex', 'age'], '成绩': ['class', 'teacher', 'score']}
outputXlsxFile(
data,
[{ wch: 50 }, { wch: 50 }, { wch: 10 }],
"test-xlsx"
); function outputXlsxFile(data, wscols, xlsxName) {
let sheetNames = [];
let sheetsList = {};
const wb = XLSX.utils.book_new(); for (let key in data) {
sheetNames.push(key);
let columnHeader = columnHeaders[key] // 此处是每个sheet的表头
let temp = transferData(data[key], columnHeader);
sheetsList[key] = XLSX.utils.aoa_to_sheet(temp);
sheetsList[key]["!cols"] = wscols;
} wb["SheetNames"] = sheetNames;
wb["Sheets"] = sheetsList; XLSX.writeFile(wb, xlsxName + ".xlsx");
} function transferData(data, columnHeader) {
let content = [];
content.push(columnHeader);
data.forEach((item, index) => {
let arr = [];
columnHeader.map(column =>{
arr.push(item[column]);
})
content.push(arr);
});
return content;
}
</script>
</body>
</html>
<script src="https://cdn.bootcss.com/xlsx/0.15.1/xlsx.full.min.js"></script>
vue 导出excel 多个sheet的更多相关文章
- CRM 报表导出excel时指定sheet名
如图所示,设置PageName即可: 这样导出excel时,sheet的名就有了:
- 项目笔记:导出Excel功能分sheet页插入数据
导出Excel功能分sheet页处理数据: /*导出EXCEL*/ public void createExcel() { log.info("导出Excel功能已经启动-BEGIN&quo ...
- C# 导出Excel 多个Sheet
以下代码中最关键的代码是 Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, ...
- vue 导出excel表格
对于涉及到数据比较多的管理后台导出excel 表格这个需求就非常的常见了 所以? vue 怎么到处excel表格的? 有两种办法 1:请求接口后台直接给你的是excel文件,你需要做的就是怎么接收ex ...
- vue导出Excel文件
1.需要安装file-saver和script-loader.xlsx npm install file-saver / yarn add file-saver npm install script- ...
- 【vue开发】vue导出Excel表格教程&demo
前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来:再比如前端在没有数据库想写些demo玩时,也是很好的选择. 第一步安装依赖包,修改配置 1.装依赖: ...
- 个人推荐的两款vue导出EXCEL插件
个人认为前端VUE项目中导出EXCEL比较好的两种方法,均不是我个人原创,我只是收录简单说明,原创地址在下面. 下面推荐两种方法,个人推荐第一种,第二种不做详细讲解,因为作者已经写过博客了,你们可以点 ...
- vue 导出excel后端返回乱码下载不了的解析问题
有俩种方法可以用 第一种方法: 解析:直接解析并且下载后端的乱码 this.download('后端给的导出excel的方法', { ...this.queryParams }, ` ...
- vue 导出excel
1.安装三个依赖包 npm install -S file-saver npm install -S xlsx npm install -D script-loader 2.在项目中创建一个文件夹(比 ...
随机推荐
- 【c++基础】c++提升速度的方法总结
参考 1. C++程序提高运行速度的方法; 2. 提高C++程序运行效率的10个简单方法; 3. C++编程中提高程序运行效率的方式(不断更新); 完
- 51Nod 1135:元根(数论)
1135 原根 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m) ...
- 裴(pei)蜀定理 知识点
在数论中,裴蜀定理是一个关于最大公约数(或最大公约式)的定理.裴蜀定理得名于法国数学家艾蒂安·裴蜀,说明了对任何整数a.b和它们的最大公约数d,关于未知数x和y的线性丢番图方程(称为裴蜀等式): ax ...
- go build Multiple main.go file
golang 如何编译同目录下多个main文件? 多个go 文件在相同目录编译时候会报错, 可将文件放在不同的package下,结构如下: buidtest/├── a│ └── a.go└── ...
- 几个OOD概念
Composition vs. Aggregation Composition和Aggregation都是”包含”的关系 (part of, made up of) ,不同的是生命周期.对于Compo ...
- SUPERSOCKET 客户端
SUPERSOCKET.CLIENTENGINE 简单使用 2015年5月27日 HYJIACAN 发表回复 阅读 11,105 次 江大没有给ClientEngine的Demo,一直没有找到其它的. ...
- MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。
类型 字节 格式 用途 是否支持设置系统默认值 date 3 YYYY-MM-DD 日期值 不支持 time 3 HH:MM:SS 时间值或持续时间 不支持 year 1 YYYY 年份 不支持 da ...
- yii 分页查询
控制器 <?php namespace backend\controllers; use app\models\Comment; use app\models\Commentstatus; us ...
- Jenkins进阶-应用的远程部署(12)
越来越多的公司部署需要实现自动化模式,大家的首选的工具就是Jenkins,下来介绍下通过Publish Over SSH Plugin插件实现远程部署: 一.安装插件Publish Over SSH ...
- C166 8位字节位运算赋值-代码优化
8位字节位运算赋值优化特记录下: unsigned short func1(){ unsigned short a; return a;} unsigned char func2(){ unsigne ...