したがって、賢明でもスケーラブルでもないかもしれませんが、そうです、あなたはそれを行うことができます。このコードを試してください:
<?php
$url = "https://spreadsheets.google.com/pub?hl=en&hl=en&key=0AupgXsRU8E9UdC1DY0toUUJLV0M0THM4cGJTSkNSUnc&output=csv";
$row=0;
if (($handle = fopen($url, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
基本的に、スプレッドシートをパブリックとして公開し、URLを手動で編集して(デフォルトのHTMLから)出力をcsvに変更します(つまり、output=csv
)、それをフェッチしてから、 fgetcsv
を使用して1行ずつ繰り返します。
。
スプレッドシートが次のようになっている場合:
これにより、問題のcsvに対して次のように出力されます。
array(2) {
[0]=>
string(4) "Name"
[1]=>
string(5) "Value"
}
array(2) {
[0]=>
string(3) "Foo"
[1]=>
string(5) "13123"
}
array(2) {
[0]=>
string(3) "Bar"
[1]=>
string(3) "331"
}