如何将html转换成csv,使用javascript将html字符串转换为csv格式

在尝试将html字符串转换为csv格式时出现问题,以便我可以创建新的csv blob对象并从IE & Edge中的网页中打开该对象。使用javascript将html字符串转换为csv格式

我发现了一个函数来将表格对象转换为csv格式,但不幸的是我需要传递这个字符串,而不是对象。

下面是表对象CSV方法:

function (table) {

var slice = Array.prototype.slice;

return slice.call(table.rows).map(function (row) {

return slice.call(row.cells).map(function (cell) {

return '"t"'.replace("t", cell.textContent);

}).join(",");

}).join("\r\n");

}

的问题是需要在显示之前格式化我希望在CSV文件中显示。因此,如果我只是将该表格对象显示在页面上,那么csv将具有比所需更多的数据。 当单击导出按钮时,我有一个方法将表格格式化,并返回表格的html字符串以显示为csv。 但我不知道如何将该字符串转换为csv格式,无法在任何地方找到此示例。

>修改1

NameTime allowedBest scoreAttempts

Michelle27, Michelle27

0 secs

33%

1

[email protected], [email protected]

0 secs

100%

18

Michelle35, Michelle35

0 secs

100%

4

上述字符串使用铬时传递给

document.open("txt/html", "replace");

iframe.document.write(sHTML);

了在铬/ Firefox中呈现为csv

HTML字符串/ Firefox和呈现如下:

d405c9dbf61552e9c83fd796dd3677c3.png

我不能让document.open与Edge一起工作,所以我使用Blob方法。

var csv = $scope.tbl2csv(oTable[0]);

// Create a CSV Blob

var blob = new Blob([ csv ], { type: "text/csv"});

if (navigator.msSaveOrOpenBlob) {

// Works for Internet Explorer and Microsoft Edge

navigator.msSaveOrOpenBlob(blob, "Assessment.csv");

}

这适用于边缘,如所需要的表中的,以CSV开口的出口在Excel中,问题是,表对象转换成CSV格式不一样的HTML字符串由铬呈现/ Firefox浏览器。 所以我的要求是找到一种方法将该字符串转换为csv格式。

+0

对待HTML的唯一正确方法是将其发送到HTML解析器。你知道该怎么做。 –

+0

不,这不是一个CSV生成器,即使它大部分时间生成有效的CSV。 –

+0

@JanDvorak为回应。不幸的是,我不知道该怎么做让我的html字符串(这是我想要显示为csv的表格)变成csv格式。任何建议不胜感激。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值