将HTML表导出到CSV文件

时间:2018-10-11 08:20:37

标签: php csv

我正在编写一个脚本,该脚本从您的邮件中获取一个表格并将其放入CSV文件中。

这是我用来将html表转换为CSV的代码

$html = str_get_html($outputstr);   

// For Excel
header('Content-type: application/ms-excel');

// Download File
header('Content-Disposition: attachment; filename=sample.csv');

$fp = fopen("php://output", "w");

// Take out empty lines
foreach($html->find('tr') as $element) {
    $td = array();

    foreach( $element->find('th') as $row) {
        $td [] = $row->plaintext;
    }

    foreach( $element->find('td') as $row) {
        $td [] = $row->plaintext;
    }

    fputcsv($fp, $td);
}

fclose($fp);

我得到的唯一问题是,当我打开CSV文件时,一些空的具有一个奇怪的字符:

as

我无法阅读PHP脚本以将其导出到数据库中

fgetcsv($handle, 1000, "\t");

如何解决此问题?

是否通过在创建CSV文件或将CSV文件传输到MySQL数据库时读取CSV文件的部分修改代码来解决此问题?

当我使用在线html到CSV转换器时,它工作正常,然后我就没有遇到这个问题了。

如果需要任何代码,那么我很乐意分享。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否尝试过将字符集设置为UTF-8?此外,您并没有使用标头将其设置为CSV,而是一个Excel文件。

header("content-type:application/csv;charset=UTF-8");