Vue将echarts数据导出成excel文件

Vue将echarts数据导出成excel文件

一、下载vendor插件

下载 vendor 文件放置项目的 src 目录下

链接:https://pan.baidu.com/s/1XYYQ186zomOXHXkBX6pV9g
提取码:5Gn1

二、封装导出函数

在 main.js 中加入以下代码

/**
 * 导出数据为excel
 * @param tHeader 表头 ['name', 'age']
 * @param tData 表内容 [{name: '张三', age: '20岁'}]
 * @param name 表名 '年龄表'
 */
function exportDataExcel(tHeader, tData, name) {
    // 注意require路径为你的vendor文件路径
    const { export_json_to_excel } = require('@/vendor/Export2Excel');
    const data = tData.map(v => tHeader.map(j => v[j]))
    console.log(data);
    export_json_to_excel(tHeader, data, name);
}
// 将函数挂载到全局
Vue.prototype.exportDataExcel = exportDataExcel

三、在需要的地方整理参数后调用
exportData(){
	// 获取echarts数据
   var cityData = this.$refs.mapChart.getAtPresentData()
   // excel表头
   var tHead = ['地区', '地区编码', '线索量']
   // excel表体
   var tData = [];
   // excel文件名
   var tName = `${cityData.cityName}线索量`
   // 循环添加excel表体, key需跟表头对应
   cityData.atPresent.forEach(item => {
     tData.push({
       '地区': item.name,
       '地区编码': item.cityCode,
       '线索量': item.value
     })
   });
   // 导出
   this.exportDataExcel(tHead, tData, tName)
 },
四、导出结果

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将Vue Echarts图形导出Excel,您可以使用以下步骤: 1. 首先,您需要在Vue项目中安装xlsx和file-saver库。您可以使用以下命令进行安装: ``` npm install xlsx file-saver --save ``` 2. 在Vue组件中,您需要导入以下库: ```javascript import XLSX from 'xlsx'; import FileSaver from 'file-saver'; ``` 3. 在Vue组件中,您需要定义一个导出函数,该函数将Echarts图形数据转换为Excel数据,并将其保存为Excel文件。以下是一个示例代码: ```javascript exportChartToExcel() { // 获取Echarts图形实例 const chartInstance = this.$refs.chart.getEchartsInstance(); // 获取Echarts图形数据 const chartData = chartInstance.getDataURL({ type: 'png', pixelRatio: 2, backgroundColor: '#fff' }); // 创建Excel工作簿 const workbook = XLSX.utils.book_new(); // 创建Excel工作表 const worksheet = XLSX.utils.aoa_to_sheet([[{ s: { fill: { patternType: 'solid', fgColor: { rgb: 'FFFFFF' } }, font: { sz: 24, bold: true }, alignment: { horizontal: 'center' } }, t: 's', v: 'Echarts Chart Data' }], [{}, {}]]); // 将图形数据添加到Excel工作表中 XLSX.utils.sheet_add_image(worksheet, chartData, { tl: { col: 2, row: 2 }, br: { col: 10, row: 20 }, editAs: 'oneCell' }); // 将工作表添加到工作簿中 XLSX.utils.book_append_sheet(workbook, worksheet, 'Echarts Data'); // 将工作簿保存为Excel文件 const excelData = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); const blob = new Blob([excelData], { type: 'application/octet-stream' }); FileSaver.saveAs(blob, 'echarts-data.xlsx'); } ``` 4. 在Vue组件中,您需要在Echarts图形中添加一个按钮或链接,以触发导出函数。以下是一个示例代码: ```html <template> <div> <div ref="chart" style="width: 100%; height: 400px;"></div> <button @click="exportChartToExcel()">Export to Excel</button> </div> </template> ``` 请注意,此示例代码仅适用于将Echarts图形导出Excel静态报告。如果您需要动态更新图形和数据,则需要使用其他工具或技术来实现。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值