私はこのようなhtmlテーブル構造を持っています。
<tr style="font-weight: bold">
<td>ID</td>
<td>Navn</td>
<td>Adresse</td>
<td>By</td>
<td>Post nr</td>
<td>E-mail</td>
<td>Telefon</td>
<td>Status og dato</td>
<td>Dropdown info</td>
<td>Produkt info</td>
<td>Buydate</td>
<td>Ref nr. (3 første cifre)</td>
</tr>
<tr>
<td>40563</td>
<td>Firstname Lastname</td>
<td>Address</td>
<td>Copen</td>
<td>2100</td>
<td>ff@hotmail.com</td>
<td>123123</td>
<td>Ikke indløst</td>
<td>EEE-BBB</td>
</tr>
これをphpでcsv/excelファイルに変換したいと思います。
つまり、それぞれがExcelの行であり、それぞれが行のセルであり、
どうすればこれができますか?
PHPを使用してHTMLテーブルをCSVに自動的に変換することを調査して見つけましたか?しかし、答えは私には正しく機能しません。すべてのセルを取得すると1つの「セル」になるため、各行には1つのセルしかありません。
これは私が試したことです。
$html = str_get_html($table);
header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename=sample.csv');
$fp = fopen("php://output", "w");
foreach($html->find('tr') as $element)
{
$td = array();
foreach( $element->find('td') as $row)
{
$td [] = $row->plaintext;
}
fputcsv($fp, $td);
}
fclose($fp);
exit;
$tableは上記のhtmlです。単純なhtmldomプラグインを使用する