-
Notifications
You must be signed in to change notification settings - Fork 665
Google Charts
agershun edited this page Mar 12, 2015
·
3 revisions
Based on StackOverflow.com question
The plan is to use alaSQL to extract data from an excel spread sheet and use the resultant array as the source for a Google chart. How I can do it?
<script src="alasql.min.js"></script>
<script src="xlsx.core.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div id="chart_div_cities"></div>
<script>
google.load('visualization', '1', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data_cities = [];
data_cities = new google.visualization.DataTable();
data_cities.addColumn('string', 'City');
data_cities.addColumn('number', 'Population');
data_cities.addRows(3);
var row_Counter = 0;
alasql('SELECT * FROM XLSX("cities.xlsx", {headers:true, sheetid:"Cities", range:"A1:B4"})',
[], function (xlData) {
var items = [];
xlData.forEach(function (key, val) {
data_cities.setCell(row_Counter, 0, val.City);
data_cities.setCell(row_Counter, 1, val.Population);
row_Counter = row_Counter + 1;
});
var chart_cities = new google.visualization.ColumnChart(
document.getElementById('chart_div_cities'));
var options_cities = {
'title': 'Populations of Major Cities',
'width': 1800,
'height': 400,
vAxis: { title: "Population", titleTextStyle: { fontSize: 16, bold: true, italic: false } },
hAxis: { title: "City", titleTextStyle: { fontSize: 16, bold: true, italic: false } },
seriesType: "bars",
animation: {
duration: 800,
easing: 'inout',
},
allowHtml: true,
bar: { groupWidth: "65%" },
legend: { position: "bottom" },
is3D: true,
};
chart_cities.draw(data_cities, options_cities);
});
};
</script>
© 2014-2024, Andrey Gershun & Mathias Rangel Wulff
Please help improve the documentation by opening a PR on the wiki repo