2012-04-22 100 views
1

我使用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)的這個腳本)

回答

0

您在這裏做一個跨域請求。據我所知,這是不允許的(還沒有?):Spreadsheet API的響應中沒有CORS標題。

您必須將此部分移動到您的服務器/後端。

如果您只需要在表格中顯示工作表數據,還有其他方法可以直接從電子表格(使用圖表)執行此操作。

0

使用JSONP獲取使用允許跨域的Java腳本。我編寫了一個簡單的庫來處理它。查看Gsheet2json