jQuery的谷歌电子表格csv

问题描述:

我使用jQuery脚本来显示一个CSV表格(从谷歌电子表格)在HTML表中的CSV文件。 当我使用'test.csv' - 与csv文件在脚本相同的文件夹中 - 它可以工作,但是当我从谷歌电子表格添加网址时,它停止工作。jQuery的谷歌电子表格csv

<script> 
$(function() { 
    $.get('https://docs.google.com/spreadsheet/pub?key=(key)&single=true&gid=8&range=A12%3AB34&output=csv', function(data) { 
     $('#CSVSource').html('<pre>' + data + '</pre>'); 
    }); 
    $('#CSVTable').CSVToTable('https://docs.google.com/spreadsheet/pub?key=(key)&single=true&gid=8&range=A12%3AB34&output=csv', { loadingImage: 'images/loading.gif', startLine: 0 }); 
    $.get('test.tsv', function(data) { 
     $('#TSVSource').html('<pre>' + data + '</pre>'); 
    }); 
(...) 

脚本来自http://code.google.com/p/jquerycsvtotable/ (我用在谷歌的App Engine(Java)的这个脚本)

您在这里做一个跨域请求。据我所知,这是不允许的(还没有?):Spreadsheet API的响应中没有CORS标题。

您必须将此部分移动到您的服务器/后端。

如果您只需要在表格中显示工作表数据,还有其他方法可以直接从电子表格(使用图表)执行此操作。

使用JSONP获取使用允许跨域的Java脚本。我编写了一个简单的库来处理它。查看Gsheet2json