首页 > 解决方案 > 将 HTML 表格导出为 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 文件时,一些空有一个奇怪的字符:

作为

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

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

我该如何解决这个问题?

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

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

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

任何帮助,将不胜感激。

标签: phpcsv

解决方案


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

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

推荐阅读