html表到CSV,csv中的格式问题

时间:2011-05-18 16:15:33

标签: .net asp.net html csv export-to-csv

我坚持从html表创建适当的CSV的想法。我正在使用HTMLAgilityPack从字符串中读取html并创建HTMLDocument。然后我使用XPATH循环遍历行和列。

问题是我无法确定特定单元格的正确行和单元格(x,y)。

示例HTML:

<html>
<body>
    <table border="1">
        <tr>
            <td rowspan="2">
                100
            </td>
            <td>
                200
            </td>
            <td colspan="2">
                300
            </td>
        </tr>
        <tr>
            <td colspan="2">
                400
            </td>
            <td>
                600
            </td>
        </tr>
        <tr>
            <td>
                400
            </td>
            <td>
                500
            </td>
            <td>
                600
            </td>
        </tr>
    </table>
</body>
</html>

Image of Table

当我在excel中打开并保存为CSV时,我会得到所需的输出,即:

100,200,300,
,400,,600
400,500,600,

有人可以帮我在.Net中创建与rowpan和colspan相同的输出吗?

谢谢! DEX

1 个答案:

答案 0 :(得分:2)

您不需要知道您所在的行和列。您需要做的就是为每个找到的新列添加一个“,”,并在每次到达行尾时添加一个分隔线。

如果您浏览文档,考虑它是一个xml文档,您所要做的就是遍历所有TR节点,当您到达子节点列表的末尾时添加一个分隔线。并且在必要时迭代每个TR节点上的所有TD节点添加“,”。