I am just in need to convert a this html table automatically in csv using PHP. Can someone provide any idea how to do this? Thanks.
$table = '<table border="1"> <tr> <th>Header 1</th> <th>Header 2</th> </tr> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table>';   Guys, I just need $table to convert in only .csv file, which could be automatically generated using some PHP function. We can define path for that csv file to /test/home/path_to_csv
php $file="demo. xls"; $test="<table ><tr><td>Cell 1</td><td>Cell 2</td></tr></table>"; header("Content-type: application/vnd. ms-excel"); header("Content-Disposition: attachment; filename=$file"); echo $test; ?>
You can use str_get_html  http://simplehtmldom.sourceforge.net/
include "simple_html_dom.php"; $table = '<table border="1"> <tr> <th>Header 1</th> <th>Header 2</th> </tr> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table>';  $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) {         $th = array();         foreach( $element->find('th') as $row)           {             $th [] = $row->plaintext;         }          $td = array();         foreach( $element->find('td') as $row)           {             $td [] = $row->plaintext;         }         !empty($th) ? fputcsv($fp, $th) : fputcsv($fp, $td); }   fclose($fp); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With