从Excel导入数据并在Chart.js中使用

时间:2017-09-10 23:32:59

标签: javascript html chart.js import-from-excel

好吧,我已经学会了如何使用标签画布最近渲染html图形。但是手动填写数据有点痛苦......我想知道是否可以使用JavaScript直接从Excel电子表格中获取这些数据。 到目前为止,这是我的代码......

<div>

	<canvas class="line-chart"></canvas>

	<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>

	<script>

	var ctx = document.getElementsByClassName("line-chart");

	var dia = ["Dia 1", "Dia 2", "Dia 3", "Dia 4", "Dia 5", "Dia 6"]; //Seta os dias
	var real = [60,30,65,59,58,49]; //Seta os dados do grafico 1
	var meta = [30,45,62,47,55,11]; //Seta os dados do grafico 2

	//Type, data, options

	var chartGraph = new Chart (ctx, {
		type: 'line', //line, bar, radar, doughnut (pizza), polarArea
		data: {
				labels: dia,
				datasets: [{

					label: "OEE Real (%) ",
					data: real,
					borderWidth: 6,
					borderColor: 'rgba(146,242,42,0.85)',
					background: 'transparent',
				},

				{

					label: "OEE Meta (%)",
					data: meta,
					borderWidth: 6,
					borderColor: 'rgba(207,0,15,0.85)',
					background: 'transparent',

				},
			]},

		options: {
			title: {
				display: true,
				fontSize: 20,
				text: "ENCARTUCHAMENTO 05"

			},
			scales: {
            	yAxes: [{
                	ticks: {
                    	 max: 100,
                		 min: 0,
                	}
            	}]
        	},

		}

	});

	</script>
	</div>

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用chartjs-plugin-datasourceSheetJS (js-xlsx)

将以下excel文件另存为COLLECTION_GROUP与HTML文件在同一目录中。

mydata.xlsx

然后,在脚本中指定它。

+--------------+-------+-------+-------+-------+-------+-------+
|              | Dia 1 | Dia 2 | Dia 3 | Dia 4 | Dia 5 | Dia 6 |
+--------------+-------+-------+-------+-------+-------+-------+
| OEE Real (%) |    60 |    30 |    65 |    59 |    58 |    49 |
+--------------+-------+-------+-------+-------+-------+-------+
| OEE Meta (%) |    30 |    45 |    62 |    47 |    55 |    11 |
+--------------+-------+-------+-------+-------+-------+-------+