(新手)关于echarts图形导出到excel

一、情景:本人刚接触echarts不久,之前有一个小功能需要实现:将echarts生成的图形导出到excel中,百度了好久。由于本人是新手,所有百度上的获取图形的base64编码的有些方法是没有理解,同事有个大神写了一个js,各种方法获取编码,然后用使用虚拟表单提交,直接一脸懵逼,耽误好长时间才解决。后来为了完成任务,直接套用这个大神的方法,根本不理解。后来回头研究了一下,这里总结一下自己的实现过程,希望会是更加简单易懂。 (注:使用的是echarts2.0,由于3.0差别有点大,不知道是否合适)

二、echarts代码:获取echarts图片的base64编码

var imagesBase64="";
function lineCharts(data){
	//将Echarts初始化到div中
	var eChart = echarts.init(document.getElementById('roadLevel01'));
	//设置options
	options = {
			title : {
				text : '问题道路里程柱图展示',
				x : 'center',
				y : 20
			},
			 animation: false,//关闭动画效果,避免导出的图形不完整
			tooltip : {
				trigger : 'axis'
			},
			legend : {
				data : [ '问题道路里程' ],
				x : 40,
				y : 45,
				textStyle : {
					fontSize : 8,
				},
				orient : 'vertical'
			},
			grid : {
				x : '20%',
				y : '24%',

				width : "70%",
				height : '60%',
				containLabel : true
			},
			calculable : false,
			xAxis : [ {
				type : 'category',
				axisLine : {
					onZero : f
要将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静态报告。如果您需要动态更新图形和数据,则需要使用其他工具或技术来实现。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值