2014-09-18 96 views
0

我正在嘗試使用PHP Google Spreadsheet Client(https://github.com/asimlqt/php-google-spreadsheet-client)從Google Spreadsheet中讀取數據。經過多次的頭髮推廣,我已經有了認證工作。我可以將行添加到電子表格中;使用CellFeed我可以正確拉取單個單元格的數據......但是我不知道的是使用ListFeed從行中拉取數據。ListFeed只返回第一行的數據?

它似乎工作,但它只是從第一行提取數據。用print_r導出結果表明它將所有的行都拉出來,但是它並不會將數據分解到數組中。我已經通過客戶端的來源,我也看不出有什麼不妥。嘆。

我試過在不同的電子表格中使用不同的工作表,以及使用不同的電子表格,只是爲了確保它不會阻止數據正常工作。

下面是我得到了什麼:

$serviceRequest = new Google\Spreadsheet\DefaultServiceRequest($accessToken); 
Google\Spreadsheet\ServiceRequestFactory::setInstance($serviceRequest); 

$spreadsheetService = new Google\Spreadsheet\SpreadsheetService(); 
$spreadsheetFeed = $spreadsheetService->getSpreadsheets(); 

$spreadsheet = $spreadsheetFeed->getByTitle('Prime Pubs Test Datasheet'); 
$worksheetFeed = $spreadsheet->getWorksheets(); 

$worksheet = $worksheetFeed->getByTitle('Configuration'); 

$listFeed = $worksheet->getListFeed(); 

foreach ($listFeed->getEntries() as $entry) { 
    print_r($entry->getValues()); 
} 

就像我說的,這將傾出的第一行,但沒有別的。

這裏的工作表中的SNIPPIT ...沒什麼不尋常的:http://imgur.com/AIax8tf

感謝。

回答

1

...是的。顯然,它不喜歡電子表格中的空白行。它認爲工作表是在那之後完成的,所以它不會進一步處理。

+0

它也似乎不喜歡跨越多個列的單元格。 – 2014-09-19 14:39:18

+0

列表提要幾乎就像使用SQL一樣。它期望一張數據表。 CellFeed允許您讀取和寫入任何單元格,也可以讓您將公式寫入單元格。 – eddyparkinson 2014-09-21 05:31:01