将Google Chart导出到Excel

需要将Google图表导出到Excel中。 有没有办法通过jquery实现相同的目标? 从Google Chart文档中,我了解到可以通过获取ImageURI将图表转换为图像。 但是当尝试使用ImageURI导出图像时(请参阅link-2),它未加载到excel文件中。

参考:

https://developers.google.com/chart/interactive/docs/printing

$("[id$=myButtonControlID]").click(function(e) { window.open('data:application/vnd.ms-excel,' + encodeURIComponent( $('div[id$=divTableDataHolder]').html())); e.preventDefault(); });  
Demo for huge data
Demoe By CodePattern.net
Anil Kumar 2012 Delhi India
abc 12 Delhi India Earth
abc 12 Delhi India Earth
abc 12 Delhi India Earth
abc 12 Delhi India Earth
abc 12 Delhi India Earth

http://jsfiddle.net/qt32a/86/

因为下载URI似乎不起作用

通过将base64字符串上载到sharepoint库将URI保存到文件中

使用CopyIntoItems Web服务

完成后或下载前,将图表替换为图像

然后下载到Excel时,应显示图表图像

请参阅以下片段…

 google.charts.load('current', { callback: function () { var data = google.visualization.arrayToDataTable([ ['File', 'fileSize', 'output Target'], ['a', 10, 15], ['b', 12, 18], ['c', 14, 21], ['d', 16, 24] ]); var container = document.getElementById('chart_div'); var chart = new google.visualization.ColumnChart(container); google.visualization.events.addListener(chart, 'ready', function () { var soapEnv = ''; soapEnv += ''; soapEnv += ''; soapEnv += ''; soapEnv += 'null'; soapEnv += 'http://domain' + _spPageContextInfo.webServerRelativeUrl + '/Temp/test.png'; soapEnv += ''; soapEnv += '' + chart.getImageURI().replace('data:image/png;base64,', '') + ''; soapEnv += ''; soapEnv += ''; soapEnv += ''; $.ajax({ url: 'http://domain' + _spPageContextInfo.webServerRelativeUrl + '/_vti_bin/Copy.asmx', beforeSend: function(xhr) { xhr.setRequestHeader('SOAPAction', 'http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems'); }, type: 'POST', dataType: 'xml', data: soapEnv, complete: function (result, status) { if (status === 'success') { document.getElementById('chart_div').innerHTML = 'Chart'; } }, contentType: 'text/xml; charset="utf-8"' }); }); chart.draw(data, { legend: { position: 'bottom' } }); }, packages: ['corechart'] });