相关疑难解决方法(0)

如何将HTML表格刮到CSV?

问题

我在工作中使用了一个工具,可以让我查询并获取HTML信息表.我没有任何类型的后端访问权限.

如果我可以将它放入电子表格进行排序,平均等,那么很多这些信息会更有用.如何将这些数据屏蔽到CSV文件?

我的第一个想法

因为我知道jQuery,我想我可能会用它去除屏幕上的表格格式,插入逗号和换行符,然后将整个混乱复制到记事本中并另存为CSV.有更好的想法吗?

解决方案

是的,伙计们,它真的像复制和粘贴一样容易.我不觉得傻.

具体来说,当我粘贴到电子表格中时,我必须选择"选择性粘贴"并选择"文本"格式.否则它会尝试将所有内容粘贴到单个单元格中,即使我突出显示整个电子表格也是如此.

screen-scraping

40
推荐指数
5
解决办法
8万
查看次数

在PHP中将HTML转换为CSV?

我有一个像这样的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>
Run Code Online (Sandbox Code Playgroud)

我想通过php将其转换为csv/excel文件.

所以每个都是excel中的一行,每个都是行中的一个单元格,

请问这怎么办?

我研究过并发现使用PHP自动将HTML表转换为CSV?但答案对我来说不正常,我将所有细胞结果都放在一个'细胞'中,所以每行只有一个细胞.

这就是我所尝试过的;

        $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; …
Run Code Online (Sandbox Code Playgroud)

php export-to-csv

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

export-to-csv ×1

php ×1

screen-scraping ×1