Javascript 将带有rowspan和colspan的html表导出为csv或xls
我有一个网格,如下图所示。 在这里,我们使用rowspans和colspan使其跨到一定数量的行和列 我想将相同的内容导出到excel或csv,但它应该保留跨行和跨列的格式Javascript 将带有rowspan和colspan的html表导出为csv或xls,javascript,html,css,Javascript,Html,Css,我有一个网格,如下图所示。 在这里,我们使用rowspans和colspan使其跨到一定数量的行和列 我想将相同的内容导出到excel或csv,但它应该保留跨行和跨列的格式 有没有更简单的方法可以使用Javascript和HTML实现这一点?简短回答:对不起,没有。没有简单的方法 详细回答:虽然有一些简单的方法可以将结构化html表转换为xls或csv(请参见示例:),但表中不规则的多级标题以及colspan和rowspan的多个实例破坏了表中的逻辑关系和可预测性 提示/建议: 只需对表格结构
有没有更简单的方法可以使用Javascript和HTML实现这一点?简短回答:对不起,没有。没有简单的方法 详细回答:虽然有一些简单的方法可以将结构化html表转换为xls或csv(请参见示例:),但表中不规则的多级标题以及
colspan
和rowspan
的多个实例破坏了表中的逻辑关系和可预测性
提示/建议:
只需对表格结构进行一些修改,即可轻松实现:
- 使用列表而不是表格单元格来列出城市
- 禁止在其他单元格上使用
和colspan
rowspan
- 删除多级表标题。最上面一排的外壳“Place desc”
绝对是多余的,而且最终是不必要的colspan
colspan
和rowspan
的多个实例破坏了表中的逻辑关系和可预测性
提示/建议:
只需对表格结构进行一些修改,即可轻松实现:
- 使用列表而不是表格单元格来列出城市
- 禁止在其他单元格上使用
和colspan
rowspan
- 删除多级表标题。最上面一排的外壳“Place desc”
绝对是多余的,而且最终是不必要的colspan
- 我也有同样的问题,
我自己用以下代码解决:
下载html表格到csv文件的完整代码
只有在可以将列编号基于特定行的情况下,代码才会结构化。在我的情况下,这是最后一次
函数下载\u表\u作为\u csv(分隔符=','){
//通过jquery选择器,按表id或表类在此处更改表。此代码使用类“table”。
变量行=$('.table tr');
//构建csv
var csv=[];
var lastrow=[];var repeatrowval=[];
var tabledata=[];
//只有当你能在一个特定的行中建立列数的基础时,代码才是结构化的。在我的情况下,它是AD中的最后一个tr。
var cols=$('.table>thead>tr:last>th').length;$('.table>thead>tr:last>th').attr('rowSpan','1');
对于(var i=0;i1){
数据=最后一行[j];repeatrowval[j]=repeatrowval[j]-1;
console.log(“行:+i+”列:+j+“=”+数据);
行推送(““+”数据+“);
}否则{
如果(列[col_len]==未定义)中断;
var colspan=col[col_len].colspan±1;
log(“col:+j+”,colspan=“+colspan+”,repeatrowval:+repeatrowval[j])
对于(var r=0;r1){a++};
}
科鲁伦++
}
如果(a>0){j=+a};
}
csv.push(行连接(分隔符));